+++ /dev/null
-From a0873490660246db587849a9e172f2b7b21fa88a Mon Sep 17 00:00:00 2001
-From: Filipe Manana <fdmanana@suse.com>
-Date: Thu, 13 Dec 2018 21:16:56 +0000
-Subject: Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl
-
-From: Filipe Manana <fdmanana@suse.com>
-
-commit a0873490660246db587849a9e172f2b7b21fa88a upstream.
-
-We are holding a transaction handle when setting an acl, therefore we can
-not allocate the xattr value buffer using GFP_KERNEL, as we could deadlock
-if reclaim is triggered by the allocation, therefore setup a nofs context.
-
-Fixes: 39a27ec1004e8 ("btrfs: use GFP_KERNEL for xattr and acl allocations")
-CC: stable@vger.kernel.org # 4.9+
-Reviewed-by: Nikolay Borisov <nborisov@suse.com>
-Signed-off-by: Filipe Manana <fdmanana@suse.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- fs/btrfs/acl.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/fs/btrfs/acl.c
-+++ b/fs/btrfs/acl.c
-@@ -22,6 +22,7 @@
- #include <linux/posix_acl_xattr.h>
- #include <linux/posix_acl.h>
- #include <linux/sched.h>
-+#include <linux/sched/mm.h>
- #include <linux/slab.h>
-
- #include "ctree.h"
-@@ -89,8 +90,16 @@ static int __btrfs_set_acl(struct btrfs_
- }
-
- if (acl) {
-+ unsigned int nofs_flag;
-+
- size = posix_acl_xattr_size(acl->a_count);
-+ /*
-+ * We're holding a transaction handle, so use a NOFS memory
-+ * allocation context to avoid deadlock if reclaim happens.
-+ */
-+ nofs_flag = memalloc_nofs_save();
- value = kmalloc(size, GFP_KERNEL);
-+ memalloc_nofs_restore(nofs_flag);
- if (!value) {
- ret = -ENOMEM;
- goto out;
fs-devpts-always-delete-dcache-dentry-s-in-dput.patch
splice-don-t-merge-into-linked-buffers.patch
m68k-add-ffreestanding-to-cflags.patch
-btrfs-setup-a-nofs-context-for-memory-allocation-at-__btrfs_set_acl.patch
btrfs-ensure-that-a-dup-or-raid1-block-group-has-exactly-two-stripes.patch
btrfs-fix-corruption-reading-shared-and-compressed-extents-after-hole-punching.patch
crypto-pcbc-remove-bogus-memcpy-s-with-src-dest.patch