[PATCH] fuse: use GFP_KERNEL_ACCOUNT for allocations in fuse_dev_alloc

From: Alexander Mikhalitsyn
Date: Wed Aug 14 2024 - 07:24:34 EST


fuse_dev_alloc() is called from the process context and it makes
sense to properly account allocated memory to the kmemcg as these
allocations are for long living objects.

Link: https://lore.kernel.org/all/20240105152129.196824-3-aleksandr.mikhalitsyn@xxxxxxxxxxxxx/

Cc: Miklos Szeredi <miklos@xxxxxxxxxx>
Cc: Amir Goldstein <amir73il@xxxxxxxxx>
Cc: Christian Brauner <brauner@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxxxxx>
Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx>
Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx>
Cc: <linux-fsdevel@xxxxxxxxxxxxxxx>
Cc: <linux-kernel@xxxxxxxxxxxxxxx>
Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx>
---
fs/fuse/inode.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index ed4c2688047f..6dae007186e1 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -1486,11 +1486,11 @@ struct fuse_dev *fuse_dev_alloc(void)
struct fuse_dev *fud;
struct list_head *pq;

- fud = kzalloc(sizeof(struct fuse_dev), GFP_KERNEL);
+ fud = kzalloc(sizeof(struct fuse_dev), GFP_KERNEL_ACCOUNT);
if (!fud)
return NULL;

- pq = kcalloc(FUSE_PQ_HASH_SIZE, sizeof(struct list_head), GFP_KERNEL);
+ pq = kcalloc(FUSE_PQ_HASH_SIZE, sizeof(struct list_head), GFP_KERNEL_ACCOUNT);
if (!pq) {
kfree(fud);
return NULL;
--
2.34.1