lkml.org 
[lkml]   [2017]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 01/19] ext4: in ext4_seek_{hole,data}, return -ENXIO for negative offsets
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Darrick J. Wong <darrick.wong@oracle.com>

    commit 1bd8d6cd3e413d64e543ec3e69ff43e75a1cf1ea upstream.

    In the ext4 implementations of SEEK_HOLE and SEEK_DATA, make sure we
    return -ENXIO for negative offsets instead of banging around inside
    the extent code and returning -EFSCORRUPTED.

    Reported-by: Mateusz S <muttdini@gmail.com>
    Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/ext4/file.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/fs/ext4/file.c
    +++ b/fs/ext4/file.c
    @@ -399,7 +399,7 @@ static loff_t ext4_seek_data(struct file
    mutex_lock(&inode->i_mutex);

    isize = i_size_read(inode);
    - if (offset >= isize) {
    + if (offset < 0 || offset >= isize) {
    mutex_unlock(&inode->i_mutex);
    return -ENXIO;
    }
    @@ -472,7 +472,7 @@ static loff_t ext4_seek_hole(struct file
    mutex_lock(&inode->i_mutex);

    isize = i_size_read(inode);
    - if (offset >= isize) {
    + if (offset < 0 || offset >= isize) {
    mutex_unlock(&inode->i_mutex);
    return -ENXIO;
    }

    \
     
     \ /
      Last update: 2017-10-16 18:52    [W:4.187 / U:0.192 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site