Instead of invoking a synchronize_rcu() to free a pointer after a grace period we can directly make use of new API that does the same but in more efficient way. CC: Luis Chamberlain <mcgrof@xxxxxxxxxx> Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx> --- kernel/module.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/module.c b/kernel/module.c index 84a9141a5e15..f404f0c9f385 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -4150,8 +4150,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); + kvfree_rcu(mod->args); free_arch_cleanup: cfi_cleanup(mod); module_arch_cleanup(mod); -- 2.30.2