[PATCH] compat_sys_vmsplice: one-off in UIO_MAXIOV check
authorJens Axboe <axboe@suse.de>
Thu, 4 May 2006 07:13:49 +0000 (09:13 +0200)
committerJens Axboe <axboe@suse.de>
Thu, 4 May 2006 07:13:49 +0000 (09:13 +0200)
nr_segs may not be > UIO_MAXIOV, however it may be equal to. This makes
the behaviour identical to the real sys_vmsplice(). The other foov
syscalls also agree that this is the way to go.

Signed-off-by: Jens Axboe <axboe@suse.de>
fs/compat.c

index 3f3e8f4d43d69230b7c4e36eb9a629e27221a22e..970888aad84383d6d708d347593e461165b4d2a1 100644 (file)
@@ -1323,7 +1323,7 @@ compat_sys_vmsplice(int fd, const struct compat_iovec __user *iov32,
 {
        unsigned i;
        struct iovec *iov;
-       if (nr_segs >= UIO_MAXIOV)
+       if (nr_segs > UIO_MAXIOV)
                return -EINVAL;
        iov = compat_alloc_user_space(nr_segs * sizeof(struct iovec));
        for (i = 0; i < nr_segs; i++) {