Patch 2.6.32.35 to 2.6.32.36
/fs/aio.c
blob:22a19ad1d42a05a4829c078b0782c8b601dece8c -> blob:02a2c9340573cf5946e0083187353d4517319844
--- fs/aio.c
+++ fs/aio.c
@@ -497,7 +497,7 @@ static inline void really_put_req(struct
ctx->reqs_active--;
if (unlikely(!ctx->reqs_active && ctx->dead))
- wake_up_all(&ctx->wait);
+ wake_up(&ctx->wait);
}
static void aio_fput_routine(struct work_struct *data)
@@ -1219,7 +1219,7 @@ static void io_destroy(struct kioctx *io
* by other CPUs at this point. Right now, we rely on the
* locking done by the above calls to ensure this consistency.
*/
- wake_up_all(&ioctx->wait);
+ wake_up(&ioctx->wait);
put_ioctx(ioctx); /* once for the lookup */
}
@@ -1639,9 +1639,6 @@ SYSCALL_DEFINE3(io_submit, aio_context_t
if (unlikely(nr < 0))
return -EINVAL;
- if (unlikely(nr > LONG_MAX/sizeof(*iocbpp)))
- nr = LONG_MAX/sizeof(*iocbpp);
-
if (unlikely(!access_ok(VERIFY_READ, iocbpp, (nr*sizeof(*iocbpp)))))
return -EFAULT;