Fix up SYSCALL_DEFINE2 in fs/aio.c flexiantxendom0
authorAlex Bligh <alex@alex.org.uk>
Sat, 19 May 2012 16:42:55 +0000 (17:42 +0100)
committerAlex Bligh <alex@alex.org.uk>
Sat, 19 May 2012 16:42:55 +0000 (17:42 +0100)
fs/aio.c

index d7639c1..08dcee6 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1438,14 +1438,12 @@ SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
        if (!IS_ERR(ioctx)) {
                ret = put_user(ioctx->user_id, ctxp);
 #ifdef CONFIG_EPOLL
-               if (make_fd && ret >= 0)
+               if (make_fd && !ret)
                        ret = make_aio_fd(ioctx);
 #endif
-               if (!ret) {
-                       put_ioctx(ioctx);
-                       return 0;
-               }
-               io_destroy(ioctx);
+               if (ret < 0)
+                       io_destroy(ioctx);
+               put_ioctx(ioctx);
        }
 
 out: