]> git.itanic.dy.fi Git - linux-stable/commitdiff
fix the regression from "direct-io: Fix negative return from dio read beyond eof"
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 8 Dec 2015 17:22:47 +0000 (12:22 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 31 Jan 2016 19:23:40 +0000 (11:23 -0800)
commit 2d4594acbf6d8f75a27f3578476b6a27d8b13ebb upstream.

Sure, it's better to bail out of past-the-eof read and return 0 than return
a bogus negative value on such.  Only we'd better make sure we are bailing out
with 0 and not -ENOMEM...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/direct-io.c

index 6bc4bacd89843895678b0bfdfd09ea74fd7c55c3..d83a021a659fdaaa9741ac082624ea275b0217dc 100644 (file)
@@ -1165,6 +1165,7 @@ do_blockdev_direct_IO(struct kiocb *iocb, struct inode *inode,
                if (dio->flags & DIO_LOCKING)
                        mutex_unlock(&inode->i_mutex);
                kmem_cache_free(dio_cache, dio);
+               retval = 0;
                goto out;
        }