tmpfs,xattr: GFP_KERNEL_ACCOUNT for simple xattrs
authorHugh Dickins <hughd@google.com>
Mon, 21 Aug 2023 17:39:20 +0000 (10:39 -0700)
committerChristian Brauner <brauner@kernel.org>
Tue, 22 Aug 2023 08:57:46 +0000 (10:57 +0200)
commit572a3d1e5d3a3e335b92e2c28a63c0b27944480c
treeeaddc5b15301bf00ade61e583273e033cd707e37
parentaa5b9178c01905d7691512b366cf2886dfe2680c
tmpfs,xattr: GFP_KERNEL_ACCOUNT for simple xattrs

It is particularly important for the userns mount case (when a sensible
nr_inodes maximum may not be enforced) that tmpfs user xattrs be subject
to memory cgroup limiting.  Leave temporary buffer allocations as is,
but change the persistent simple xattr allocations from GFP_KERNEL to
GFP_KERNEL_ACCOUNT.  This limits kernfs's cgroupfs too, but that's good.

(I had intended to send this change earlier, but had been confused by
shmem_alloc_inode() using GFP_KERNEL, and thought a discussion would be
needed to change that too: no, I was forgetting the SLAB_ACCOUNT on that
kmem_cache, which implicitly adds __GFP_ACCOUNT to all its allocations.)

Signed-off-by: Hugh Dickins <hughd@google.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Message-Id: <f6953e5a-4183-8314-38f2-40be60998615@google.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/xattr.c
mm/shmem.c