Thread (3 messages) 3 messages, 3 authors, 2022-03-02

Re: [PATCH] module: avoid calling synchronize_rcu()

From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2022-03-02 22:48:47
Also in: lkml

On Wed, Mar 02, 2022 at 10:14:00AM +0100, Miroslav Benes wrote:
Hi,

On Wed, 2 Mar 2022, cgel.zte@gmail.com wrote:
quoted
From: Lv Ruyi (CGEL ZTE) <redacted>

Kfree_rcu() usually results in even simpler code than does 
synchronize_rcu() without synchronize_rcu()'s multi-millisecond
latency, so replace synchronize_rcu() with kfree_rcu().

Reported-by: Zeal Robot <redacted>
Signed-off-by: Lv Ruyi (CGEL ZTE) <redacted>
---
 kernel/module.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/kernel/module.c b/kernel/module.c
index 6cea788fd965..767b5f9e5819 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -4138,8 +4138,7 @@ static int load_module(struct load_info *info, const char __user *uargs,
  ddebug_cleanup:
 	ftrace_release_mod(mod);
 	dynamic_debug_remove(mod, info->debug);
-	synchronize_rcu();
-	kfree(mod->args);
+	kfree_rcu(mod->args);
this has been proposed already. synchronize_rcu() and kfree() here are not 
really tied together. See the discussion at 
https://lore.kernel.org/all/alpine.LSU.2.21.2111301132220.3922@pobox.suse.cz/T/#u (local)
Aaron, can you add a nice comment here to explain this while at it?
Otherwise this will be lost tribal knowledge.

Lv Ruyi, please open source your Zeal Robot. Thanks!

  Luis
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help