From: Greg Kroah-Hartman Date: Thu, 6 Aug 2020 10:26:18 +0000 (+0200) Subject: 4.4-stable patches X-Git-Tag: v5.7.14~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6cf8bd87a61090ce2d4ad2b79098431cdebda73d;p=thirdparty%2Fkernel%2Fstable-queue.git 4.4-stable patches added patches: ext4-fix-direct-i-o-read-error-for-kernel-stable-rc4.4.patch --- diff --git a/queue-4.4/ext4-fix-direct-i-o-read-error.patch b/queue-4.4/ext4-fix-direct-i-o-read-error-for-kernel-stable-rc4.4.patch similarity index 83% rename from queue-4.4/ext4-fix-direct-i-o-read-error.patch rename to queue-4.4/ext4-fix-direct-i-o-read-error-for-kernel-stable-rc4.4.patch index 97ca357fcb3..aa1b7c88b23 100644 --- a/queue-4.4/ext4-fix-direct-i-o-read-error.patch +++ b/queue-4.4/ext4-fix-direct-i-o-read-error-for-kernel-stable-rc4.4.patch @@ -1,10 +1,10 @@ -From jiangying8582@126.com Wed Aug 5 16:29:58 2020 +From jiangying8582@126.com Thu Aug 6 12:24:48 2020 From: Jiang Ying -Date: Wed, 5 Aug 2020 15:57:21 +0800 -Subject: ext4: fix direct I/O read error -To: tytso@mit.edu, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org -Cc: wanglong19@meituan.com, heguanjun@meituan.com, jack@suse.cz -Message-ID: <1596614241-178185-1-git-send-email-jiangying8582@126.com> +Date: Thu, 6 Aug 2020 17:38:11 +0800 +Subject: ext4: fix direct I/O read error for kernel stable rc4.4 +To: tytso@mit.edu, adilger.kernel@dilger.ca, linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org, jack@suse.cz, stable@vger.kernel.org +Cc: wanglong19@meituan.com, heguanjun@meituan.com +Message-ID: <1596706691-82760-1-git-send-email-jiangying8582@126.com> From: Jiang Ying @@ -119,26 +119,27 @@ on kernel 5.5 to fix this problem. Fixes: 9fe55eea7e4b ("Fix race when checking i_size on direct i/o read") Reviewed-by: Jan Kara -Co-developed-by: Wang Long -Signed-off-by: Wang Long +Reviewed-by: Wang Long Signed-off-by: Jiang Ying Signed-off-by: Greg Kroah-Hartman --- - fs/ext4/inode.c | 5 +++++ - 1 file changed, 5 insertions(+) + fs/ext4/inode.c | 7 +++++++ + 1 file changed, 7 insertions(+) --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c -@@ -3352,6 +3352,11 @@ static ssize_t ext4_direct_IO(struct kio - struct inode *inode = file->f_mapping->host; +@@ -3353,6 +3353,13 @@ static ssize_t ext4_direct_IO(struct kio size_t count = iov_iter_count(iter); ssize_t ret; -+ loff_t offset = iocb->ki_pos; -+ loff_t size = i_size_read(inode); -+ -+ if (offset >= size) -+ return 0; ++ if (iov_iter_rw(iter) == READ) { ++ loff_t size = i_size_read(inode); ++ ++ if (offset >= size) ++ return 0; ++ } ++ #ifdef CONFIG_EXT4_FS_ENCRYPTION if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode)) + return 0; diff --git a/queue-4.4/series b/queue-4.4/series index 5f98850c956..7191f317c17 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -29,4 +29,4 @@ arm-percpu.h-fix-build-error.patch random-fix-circular-include-dependency-on-arm64-after-addition-of-percpu.h.patch random32-remove-net_rand_state-from-the-latent-entropy-gcc-plugin.patch random32-move-the-pseudo-random-32-bit-definitions-to-prandom.h.patch -ext4-fix-direct-i-o-read-error.patch +ext4-fix-direct-i-o-read-error-for-kernel-stable-rc4.4.patch