diff options
Diffstat (limited to 'fs/ext4/file.c')
-rw-r--r-- | fs/ext4/file.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/ext4/file.c b/fs/ext4/file.c index 0d7cf0cc9b87..86ea1d92839a 100644 --- a/fs/ext4/file.c +++ b/fs/ext4/file.c | |||
@@ -595,7 +595,7 @@ static loff_t ext4_seek_data(struct file *file, loff_t offset, loff_t maxsize) | |||
595 | inode_lock(inode); | 595 | inode_lock(inode); |
596 | 596 | ||
597 | isize = i_size_read(inode); | 597 | isize = i_size_read(inode); |
598 | if (offset >= isize) { | 598 | if (offset < 0 || offset >= isize) { |
599 | inode_unlock(inode); | 599 | inode_unlock(inode); |
600 | return -ENXIO; | 600 | return -ENXIO; |
601 | } | 601 | } |
@@ -658,7 +658,7 @@ static loff_t ext4_seek_hole(struct file *file, loff_t offset, loff_t maxsize) | |||
658 | inode_lock(inode); | 658 | inode_lock(inode); |
659 | 659 | ||
660 | isize = i_size_read(inode); | 660 | isize = i_size_read(inode); |
661 | if (offset >= isize) { | 661 | if (offset < 0 || offset >= isize) { |
662 | inode_unlock(inode); | 662 | inode_unlock(inode); |
663 | return -ENXIO; | 663 | return -ENXIO; |
664 | } | 664 | } |