From e21c0b9259c41566cf0ecc5a732b67914a21179f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 24 Oct 2024 07:38:14 +0000 Subject: [PATCH] static_call: Replace pointless WARN_ON() in static_call_module_notify() stable inclusion from stable-v6.6.55 commit e67534bd31d79952b50e791e92adf0b3e6c13b8c category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAYRDC Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e67534bd31d79952b50e791e92adf0b3e6c13b8c -------------------------------- [ Upstream commit fe513c2ef0a172a58f158e2e70465c4317f0a9a2 ] static_call_module_notify() triggers a WARN_ON(), when memory allocation fails in __static_call_add_module(). That's not really justified, because the failure case must be correctly handled by the well known call chain and the error code is passed through to the initiating userspace application. A memory allocation fail is not a fatal problem, but the WARN_ON() takes the machine out when panic_on_warn is set. Replace it with a pr_warn(). Fixes: 9183c3f9ed71 ("static_call: Add inline static call infrastructure") Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra (Intel) Link: https://lkml.kernel.org/r/8734mf7pmb.ffs@tglx Signed-off-by: Sasha Levin Signed-off-by: Liao Chen --- kernel/static_call_inline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/static_call_inline.c b/kernel/static_call_inline.c index 6daefd258845..b80a507c1263 100644 --- a/kernel/static_call_inline.c +++ b/kernel/static_call_inline.c @@ -436,7 +436,7 @@ static int static_call_module_notify(struct notifier_block *nb, case MODULE_STATE_COMING: ret = static_call_add_module(mod); if (ret) { - WARN(1, "Failed to allocate memory for static calls"); + pr_warn("Failed to allocate memory for static calls\n"); static_call_del_module(mod); } break; -- Gitee