summaryrefslogtreecommitdiffstats
path: root/patch-5.15-redhat.patch
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2021-11-23 12:32:02 -0600
committerJustin M. Forbes <jforbes@fedoraproject.org>2021-11-23 12:32:02 -0600
commit8f66899cbff5e019b9265e74dd220ff6eb29fbfa (patch)
tree9fdc347b417e1e1dff2b16a3bdc2731981b9e976 /patch-5.15-redhat.patch
parentc2b24705e7bef009ee3bf63ebcfa111b92996936 (diff)
downloadkernel-8f66899cbff5e019b9265e74dd220ff6eb29fbfa.tar.gz
kernel-8f66899cbff5e019b9265e74dd220ff6eb29fbfa.tar.xz
kernel-8f66899cbff5e019b9265e74dd220ff6eb29fbfa.zip
kernel-5.15-201
* Tue Nov 23 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.15-201] - Revert "fuse: fix page stealing" (Justin M. Forbes) Resolves: rhbz# Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
Diffstat (limited to 'patch-5.15-redhat.patch')
-rw-r--r--patch-5.15-redhat.patch35
1 files changed, 34 insertions, 1 deletions
diff --git a/patch-5.15-redhat.patch b/patch-5.15-redhat.patch
index 54cd3fd82..50989dc71 100644
--- a/patch-5.15-redhat.patch
+++ b/patch-5.15-redhat.patch
@@ -36,6 +36,7 @@
drivers/usb/core/hub.c | 7 ++
drivers/usb/host/xhci-tegra.c | 41 +++++--
fs/btrfs/async-thread.c | 14 +++
+ fs/fuse/dev.c | 14 +--
include/linux/efi.h | 22 ++--
include/linux/lsm_hook_defs.h | 2 +
include/linux/lsm_hooks.h | 6 +
@@ -49,7 +50,7 @@
security/lockdown/Kconfig | 13 +++
security/lockdown/lockdown.c | 1 +
security/security.c | 6 +
- 51 files changed, 803 insertions(+), 215 deletions(-)
+ 52 files changed, 805 insertions(+), 227 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 1396fd2d9031..4bc97128cee8 100644
@@ -1809,6 +1810,38 @@ index 309516e6a968..d39af03b456c 100644
set_bit(WORK_DONE_BIT, &work->flags);
run_ordered_work(wq, work);
} else {
+diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
+index 5a1f142bdb48..dde341a6388a 100644
+--- a/fs/fuse/dev.c
++++ b/fs/fuse/dev.c
+@@ -847,12 +847,6 @@ static int fuse_try_move_page(struct fuse_copy_state *cs, struct page **pagep)
+
+ replace_page_cache_page(oldpage, newpage);
+
+- /*
+- * Release while we have extra ref on stolen page. Otherwise
+- * anon_pipe_buf_release() might think the page can be reused.
+- */
+- pipe_buf_release(cs->pipe, buf);
+-
+ get_page(newpage);
+
+ if (!(buf->flags & PIPE_BUF_FLAG_LRU))
+@@ -2037,12 +2031,8 @@ static ssize_t fuse_dev_splice_write(struct pipe_inode_info *pipe,
+
+ pipe_lock(pipe);
+ out_free:
+- for (idx = 0; idx < nbuf; idx++) {
+- struct pipe_buffer *buf = &bufs[idx];
+-
+- if (buf->ops)
+- pipe_buf_release(pipe, buf);
+- }
++ for (idx = 0; idx < nbuf; idx++)
++ pipe_buf_release(pipe, &bufs[idx]);
+ pipe_unlock(pipe);
+
+ kvfree(bufs);
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 6b5d36babfcc..fd4a5d66a9d0 100644
--- a/include/linux/efi.h