From 587136851af803345c241b0a9b91ae9d66594802 Mon Sep 17 00:00:00 2001 From: Xu Yu Date: Sat, 9 May 2020 18:34:12 +0800 Subject: [PATCH 1010/2944] alinux: mm: fix undefined reference to printk_ratelimit_state fix #27508738 The variable printk_ratelimit_state is not defined if CONFIG_PRINTK is not set, but is directly accessed in mm/oom_kill.c without considering the config. Consider CONFIG_PRINTK when accessing printk_ratelimit_state in mm/oom_kill.c. Fixes: 41a1a9357d03 ("alinux: oom: add ratelimit printk to prevent softlockup") Reported-by: kbuild test robot Signed-off-by: Xu Yu Reviewed-by: zhongjiang-ali Acked-by: Caspar Zhang --- mm/oom_kill.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 138bb2b..bd6194d 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -862,8 +862,10 @@ static void __oom_kill_process(struct task_struct *victim, bool is_memcg) bool can_oom_reap = true; bool suppress_print = false; +#ifdef CONFIG_PRINTK if (is_memcg && __ratelimit(&printk_ratelimit_state)) suppress_print = true; +#endif p = find_lock_task_mm(victim); if (!p) { put_task_struct(victim); @@ -993,8 +995,10 @@ static void oom_kill_process(struct oom_control *oc, const char *message) * Meanwhile, Use printk_ratelimit_state rather than oom_memcg_rs to * not suppress important print message overly. */ +#ifdef CONFIG_PRINTK if (is_memcg_oom(oc) && __ratelimit(&printk_ratelimit_state)) suppress_print = true; +#endif if (!suppress_print) pr_err("%s: Kill process %d (%s) score %u or sacrifice child\n", -- 1.8.3.1