[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210603124105.29052-1-chenguanyou@xiaomi.com>
Date: Thu, 3 Jun 2021 20:41:05 +0800
From: chenguanyou <chenguanyou9338@...il.com>
To: linux-kernel@...r.kernel.org
Cc: akpm@...ux-foundation.org, keescook@...omium.org, mhocko@...e.com,
lukas.bulwahn@...il.com, vbabka@...e.cz, gpiccoli@...onical.com,
chenguanyou <chenguanyou@...omi.com>
Subject: [PATCH] [fuse] alloc_page nofs avoid deadlock
ABA deadlock
PID: 17172 TASK: ffffffc0c162c000 CPU: 6 COMMAND: "Thread-21"
PID: 9652 TASK: ffffffc0c9ce0000 CPU: 4 COMMAND: "kworker/u16:8"
Signed-off-by: chenguanyou <chenguanyou@...omi.com>
---
fs/fuse/dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index c0fee830a34e..d36125ff0405 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -721,7 +721,7 @@ static int fuse_copy_fill(struct fuse_copy_state *cs)
if (cs->nr_segs >= cs->pipe->max_usage)
return -EIO;
- page = alloc_page(GFP_HIGHUSER);
+ page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
if (!page)
return -ENOMEM;
--
2.17.1
Powered by blists - more mailing lists