kernel/watchdog.c:162:1: warning: the frame size of 1248 bytes is larger than 1024 bytes

From: kernel test robot
Date: Sun Jul 30 2023 - 21:24:57 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5d0c230f1de8c7515b6567d9afba1f196fb4e2f4
commit: 77c12fc95980d100fdc49e88a5727c242d0dfedc watchdog/hardlockup: add a "cpu" param to watchdog_hardlockup_check()
date: 7 weeks ago
config: x86_64-intel-next-customedconfig-intel_next_rpm_defconfig (https://download.01.org/0day-ci/archive/20230731/202307310955.pLZDhpnl-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230731/202307310955.pLZDhpnl-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307310955.pLZDhpnl-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

kernel/watchdog.c: In function 'watchdog_hardlockup_check':
>> kernel/watchdog.c:162:1: warning: the frame size of 1248 bytes is larger than 1024 bytes [-Wframe-larger-than=]
162 | }
| ^


vim +162 kernel/watchdog.c

81972551df9d16 Douglas Anderson 2023-05-19 116
77c12fc95980d1 Douglas Anderson 2023-05-19 117 void watchdog_hardlockup_check(unsigned int cpu, struct pt_regs *regs)
81972551df9d16 Douglas Anderson 2023-05-19 118 {
1610611aadc224 Douglas Anderson 2023-05-19 119 /*
1610611aadc224 Douglas Anderson 2023-05-19 120 * Check for a hardlockup by making sure the CPU's timer
1610611aadc224 Douglas Anderson 2023-05-19 121 * interrupt is incrementing. The timer interrupt should have
81972551df9d16 Douglas Anderson 2023-05-19 122 * fired multiple times before we overflow'd. If it hasn't
81972551df9d16 Douglas Anderson 2023-05-19 123 * then this is a good indication the cpu is stuck
81972551df9d16 Douglas Anderson 2023-05-19 124 */
77c12fc95980d1 Douglas Anderson 2023-05-19 125 if (is_hardlockup(cpu)) {
1610611aadc224 Douglas Anderson 2023-05-19 126 unsigned int this_cpu = smp_processor_id();
77c12fc95980d1 Douglas Anderson 2023-05-19 127 struct cpumask backtrace_mask = *cpu_online_mask;
81972551df9d16 Douglas Anderson 2023-05-19 128
1610611aadc224 Douglas Anderson 2023-05-19 129 /* Only print hardlockups once. */
77c12fc95980d1 Douglas Anderson 2023-05-19 130 if (per_cpu(watchdog_hardlockup_warned, cpu))
81972551df9d16 Douglas Anderson 2023-05-19 131 return;
81972551df9d16 Douglas Anderson 2023-05-19 132
77c12fc95980d1 Douglas Anderson 2023-05-19 133 pr_emerg("Watchdog detected hard LOCKUP on cpu %d\n", cpu);
81972551df9d16 Douglas Anderson 2023-05-19 134 print_modules();
81972551df9d16 Douglas Anderson 2023-05-19 135 print_irqtrace_events(current);
77c12fc95980d1 Douglas Anderson 2023-05-19 136 if (cpu == this_cpu) {
81972551df9d16 Douglas Anderson 2023-05-19 137 if (regs)
81972551df9d16 Douglas Anderson 2023-05-19 138 show_regs(regs);
81972551df9d16 Douglas Anderson 2023-05-19 139 else
81972551df9d16 Douglas Anderson 2023-05-19 140 dump_stack();
77c12fc95980d1 Douglas Anderson 2023-05-19 141 cpumask_clear_cpu(cpu, &backtrace_mask);
77c12fc95980d1 Douglas Anderson 2023-05-19 142 } else {
77c12fc95980d1 Douglas Anderson 2023-05-19 143 if (trigger_single_cpu_backtrace(cpu))
77c12fc95980d1 Douglas Anderson 2023-05-19 144 cpumask_clear_cpu(cpu, &backtrace_mask);
77c12fc95980d1 Douglas Anderson 2023-05-19 145 }
81972551df9d16 Douglas Anderson 2023-05-19 146
81972551df9d16 Douglas Anderson 2023-05-19 147 /*
77c12fc95980d1 Douglas Anderson 2023-05-19 148 * Perform multi-CPU dump only once to avoid multiple
77c12fc95980d1 Douglas Anderson 2023-05-19 149 * hardlockups generating interleaving traces
81972551df9d16 Douglas Anderson 2023-05-19 150 */
81972551df9d16 Douglas Anderson 2023-05-19 151 if (sysctl_hardlockup_all_cpu_backtrace &&
1610611aadc224 Douglas Anderson 2023-05-19 152 !test_and_set_bit(0, &watchdog_hardlockup_all_cpu_dumped))
77c12fc95980d1 Douglas Anderson 2023-05-19 153 trigger_cpumask_backtrace(&backtrace_mask);
81972551df9d16 Douglas Anderson 2023-05-19 154
81972551df9d16 Douglas Anderson 2023-05-19 155 if (hardlockup_panic)
81972551df9d16 Douglas Anderson 2023-05-19 156 nmi_panic(regs, "Hard LOCKUP");
81972551df9d16 Douglas Anderson 2023-05-19 157
77c12fc95980d1 Douglas Anderson 2023-05-19 158 per_cpu(watchdog_hardlockup_warned, cpu) = true;
1610611aadc224 Douglas Anderson 2023-05-19 159 } else {
77c12fc95980d1 Douglas Anderson 2023-05-19 160 per_cpu(watchdog_hardlockup_warned, cpu) = false;
81972551df9d16 Douglas Anderson 2023-05-19 161 }
81972551df9d16 Douglas Anderson 2023-05-19 @162 }
81972551df9d16 Douglas Anderson 2023-05-19 163

:::::: The code at line 162 was first introduced by commit
:::::: 81972551df9d168a8183b786ff4de06008469c2e watchdog/hardlockup: move perf hardlockup checking/panic to common watchdog.c

:::::: TO: Douglas Anderson <dianders@xxxxxxxxxxxx>
:::::: CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki