splice: fix error return code
authorAndrew Morton <akpm@linux-foundation.org>
Thu, 14 May 2009 07:49:44 +0000 (09:49 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 14 May 2009 07:49:44 +0000 (09:49 +0200)
fs/splice.c: In function 'default_file_splice_read':
fs/splice.c:566: warning: 'error' may be used uninitialized in this function

which is sort-of true.  The code will in fact return -ENOMEM instead of the
kernel_readv() return value.

Cc: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fs/splice.c

index c5e3c79..41179c0 100644 (file)
@@ -595,8 +595,10 @@ ssize_t default_file_splice_read(struct file *in, loff_t *ppos,
        }
 
        res = kernel_readv(in, vec, spd.nr_pages, *ppos);
-       if (res < 0)
+       if (res < 0) {
+               error = res;
                goto err;
+       }
 
        error = 0;
        if (!res)