[PATCH]AIO: fix cleanup in io_submit_one(...)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Yan Zheng
Date: Saturday, October 6, 2007 - 9:26 am

Hello,

When IOCB_FLAG_RESFD flag is set and iocb->aio_resfd is incorrect,
statement 'goto out_put_req' is executed. At label 'out_put_req',
aio_put_req(..) is called, which requires 'req->ki_filp' set.

Regards

Signed-off-by: Yan Zheng<yanzheng@21cn.com>
----
diff -ur linux-2.6.23-rc9/fs/aio.c linux/fs/aio.c
--- linux-2.6.23-rc9/fs/aio.c   2007-07-09 07:32:17.000000000 +0800
+++ linux/fs/aio.c      2007-10-07 00:05:10.000000000 +0800
@@ -1562,6 +1562,7 @@
                fput(file);
                return -EAGAIN;
        }
+       req->ki_filp = file;
        if (iocb->aio_flags & IOCB_FLAG_RESFD) {
                /*
                 * If the IOCB_FLAG_RESFD flag of aio_flags is set, get an
@@ -1576,7 +1577,6 @@
                }
        }

-       req->ki_filp = file;
        ret = put_user(req->ki_key, &user_iocb->aio_key);
        if (unlikely(ret)) {
                dprintk("EFAULT: aio_key\n");
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH]AIO: fix cleanup in io_submit_one(...), Yan Zheng, (Sat Oct 6, 9:26 am)