From 91f2de1486e12a891ca30c3d769cd5b01de2346c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 23 Feb 2022 11:23:54 +0100 Subject: [PATCH] fix up some 4.9 and 4.14 patches --- ...-initialize-flags-in-new-pipe_buffer.patch | 43 +++++++++++++++++++ ...port-writeback-errors-in-nfs_getattr.patch | 20 +++++---- queue-4.14/series | 1 + ...-initialize-flags-in-new-pipe_buffer.patch | 43 +++++++++++++++++++ ...port-writeback-errors-in-nfs_getattr.patch | 20 +++++---- queue-4.9/series | 1 + 6 files changed, 112 insertions(+), 16 deletions(-) create mode 100644 queue-4.14/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch create mode 100644 queue-4.9/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch diff --git a/queue-4.14/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch b/queue-4.14/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch new file mode 100644 index 00000000000..9f9dfd1e851 --- /dev/null +++ b/queue-4.14/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch @@ -0,0 +1,43 @@ +From 9d2231c5d74e13b2a0546fee6737ee4446017903 Mon Sep 17 00:00:00 2001 +From: Max Kellermann +Date: Mon, 21 Feb 2022 11:03:13 +0100 +Subject: lib/iov_iter: initialize "flags" in new pipe_buffer + +From: Max Kellermann + +commit 9d2231c5d74e13b2a0546fee6737ee4446017903 upstream. + +The functions copy_page_to_iter_pipe() and push_pipe() can both +allocate a new pipe_buffer, but the "flags" member initializer is +missing. + +Fixes: 241699cd72a8 ("new iov_iter flavour: pipe-backed") +To: Alexander Viro +To: linux-fsdevel@vger.kernel.org +To: linux-kernel@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: Max Kellermann +Signed-off-by: Al Viro +Signed-off-by: Greg Kroah-Hartman +--- + lib/iov_iter.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/lib/iov_iter.c ++++ b/lib/iov_iter.c +@@ -393,6 +393,7 @@ static size_t copy_page_to_iter_pipe(str + return 0; + pipe->nrbufs++; + buf->ops = &page_cache_pipe_buf_ops; ++ buf->flags = 0; + get_page(buf->page = page); + buf->offset = offset; + buf->len = bytes; +@@ -517,6 +518,7 @@ static size_t push_pipe(struct iov_iter + break; + pipe->nrbufs++; + pipe->bufs[idx].ops = &default_pipe_buf_ops; ++ pipe->bufs[idx].flags = 0; + pipe->bufs[idx].page = page; + pipe->bufs[idx].offset = 0; + if (left <= PAGE_SIZE) { diff --git a/queue-4.14/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch b/queue-4.14/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch index b25a8dbedd6..613338bb170 100644 --- a/queue-4.14/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch +++ b/queue-4.14/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch @@ -16,14 +16,12 @@ Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker Signed-off-by: Sasha Levin --- - fs/nfs/inode.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) + fs/nfs/inode.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) -diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c -index ad01d4fb795ee..5774dc2c5c2bf 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c -@@ -740,11 +740,8 @@ int nfs_getattr(const struct path *path, struct kstat *stat, +@@ -740,11 +740,8 @@ int nfs_getattr(const struct path *path, trace_nfs_getattr_enter(inode); /* Flush out writes to the server in order to update c/mtime. */ @@ -37,6 +35,12 @@ index ad01d4fb795ee..5774dc2c5c2bf 100644 /* * We may force a getattr if the user cares about atime. --- -2.34.1 - +@@ -775,7 +772,7 @@ int nfs_getattr(const struct path *path, + if (S_ISDIR(inode->i_mode)) + stat->blksize = NFS_SERVER(inode)->dtsize; + } +-out: ++ + trace_nfs_getattr_exit(inode, err); + return err; + } diff --git a/queue-4.14/series b/queue-4.14/series index ef0feeaf1e3..0a8de202e31 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -34,6 +34,7 @@ edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch net-sched-limit-tc_act_repeat-loops.patch dmaengine-sh-rcar-dmac-check-for-error-num-after-setting-mask.patch i2c-brcmstb-fix-support-for-dsl-and-cm-variants.patch +lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch mtd-rawnand-brcmnand-refactored-code-to-introduce-he.patch mtd-rawnand-brcmnand-fixed-incorrect-sub-page-ecc-st.patch kvm-x86-pmu-use-amd64_raw_event_mask-for-perf_type_r.patch diff --git a/queue-4.9/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch b/queue-4.9/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch new file mode 100644 index 00000000000..e9aaf01a7b5 --- /dev/null +++ b/queue-4.9/lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch @@ -0,0 +1,43 @@ +From 9d2231c5d74e13b2a0546fee6737ee4446017903 Mon Sep 17 00:00:00 2001 +From: Max Kellermann +Date: Mon, 21 Feb 2022 11:03:13 +0100 +Subject: lib/iov_iter: initialize "flags" in new pipe_buffer + +From: Max Kellermann + +commit 9d2231c5d74e13b2a0546fee6737ee4446017903 upstream. + +The functions copy_page_to_iter_pipe() and push_pipe() can both +allocate a new pipe_buffer, but the "flags" member initializer is +missing. + +Fixes: 241699cd72a8 ("new iov_iter flavour: pipe-backed") +To: Alexander Viro +To: linux-fsdevel@vger.kernel.org +To: linux-kernel@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: Max Kellermann +Signed-off-by: Al Viro +Signed-off-by: Greg Kroah-Hartman +--- + lib/iov_iter.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/lib/iov_iter.c ++++ b/lib/iov_iter.c +@@ -370,6 +370,7 @@ static size_t copy_page_to_iter_pipe(str + return 0; + pipe->nrbufs++; + buf->ops = &page_cache_pipe_buf_ops; ++ buf->flags = 0; + get_page(buf->page = page); + buf->offset = offset; + buf->len = bytes; +@@ -494,6 +495,7 @@ static size_t push_pipe(struct iov_iter + break; + pipe->nrbufs++; + pipe->bufs[idx].ops = &default_pipe_buf_ops; ++ pipe->bufs[idx].flags = 0; + pipe->bufs[idx].page = page; + pipe->bufs[idx].offset = 0; + if (left <= PAGE_SIZE) { diff --git a/queue-4.9/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch b/queue-4.9/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch index f1930553b00..82b05c8bda4 100644 --- a/queue-4.9/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch +++ b/queue-4.9/nfs-do-not-report-writeback-errors-in-nfs_getattr.patch @@ -16,14 +16,12 @@ Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker Signed-off-by: Sasha Levin --- - fs/nfs/inode.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) + fs/nfs/inode.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) -diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c -index 7a94f5a5f8c8c..3f93b659c849a 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c -@@ -661,11 +661,8 @@ int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) +@@ -661,11 +661,8 @@ int nfs_getattr(struct vfsmount *mnt, st trace_nfs_getattr_enter(inode); /* Flush out writes to the server in order to update c/mtime. */ @@ -37,6 +35,12 @@ index 7a94f5a5f8c8c..3f93b659c849a 100644 /* * We may force a getattr if the user cares about atime. --- -2.34.1 - +@@ -693,7 +690,7 @@ int nfs_getattr(struct vfsmount *mnt, st + if (S_ISDIR(inode->i_mode)) + stat->blksize = NFS_SERVER(inode)->dtsize; + } +-out: ++ + trace_nfs_getattr_exit(inode, err); + return err; + } diff --git a/queue-4.9/series b/queue-4.9/series index 616cde5b5ff..e128133c17b 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -26,6 +26,7 @@ asoc-ops-fix-stereo-change-notifications-in-snd_soc_put_volsw_range.patch nfs-lookup_directory-is-also-ok-with-symlinks.patch edac-fix-calculation-of-returned-address-and-next-offset-in-edac_align_ptr.patch i2c-brcmstb-fix-support-for-dsl-and-cm-variants.patch +lib-iov_iter-initialize-flags-in-new-pipe_buffer.patch kvm-x86-pmu-use-amd64_raw_event_mask-for-perf_type_r.patch nfs-do-not-report-writeback-errors-in-nfs_getattr.patch ata-libata-core-disable-trim-on-m88v29.patch -- 2.47.3