tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
pending-4.19
head: 1fb43d741d36cf1330749f79899cce2a47fda8bf
commit: 6d5b906ef8333f63970cb9d5218986b5efa28b9a [47/279] powerpc/stacktrace: Fix spurious
"stale" traces in raise_backtrace_ipi()
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 10.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-4.19
git checkout 6d5b906ef8333f63970cb9d5218986b5efa28b9a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from arch/powerpc/include/asm/book3s/64/mmu-hash.h:24,
from arch/powerpc/include/asm/book3s/64/mmu.h:30,
from arch/powerpc/include/asm/mmu.h:313,
from arch/powerpc/include/asm/lppaca.h:36,
from arch/powerpc/include/asm/paca.h:21,
from arch/powerpc/include/asm/hw_irq.h:64,
from arch/powerpc/include/asm/irqflags.h:12,
from include/linux/irqflags.h:16,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/kallsyms.h:12,
from arch/powerpc/kernel/stacktrace.c:12:
arch/powerpc/include/asm/book3s/64/pgtable.h:1292:15: warning: type qualifiers ignored
on function return type [-Wignored-qualifiers]
1292 | static inline const int pud_pfn(pud_t pud)
| ^~~~~
arch/powerpc/kernel/stacktrace.c: In function 'raise_backtrace_ipi':
> arch/powerpc/kernel/stacktrace.c:222:5: error: implicit
declaration of function 'udelay' [-Werror=implicit-function-declaration]
222 | udelay(1);
| ^~~~~~
cc1: some warnings being treated as errors
vim +/udelay +222 arch/powerpc/kernel/stacktrace.c
204
205 static void raise_backtrace_ipi(cpumask_t *mask)
206 {
207 struct paca_struct *p;
208 unsigned int cpu;
209 u64 delay_us;
210
211 for_each_cpu(cpu, mask) {
212 if (cpu == smp_processor_id()) {
213 handle_backtrace_ipi(NULL);
214 continue;
215 }
216
217 delay_us = 5 * USEC_PER_SEC;
218
219 if (smp_send_safe_nmi_ipi(cpu, handle_backtrace_ipi, delay_us)) {
220 // Now wait up to 5s for the other CPU to do its backtrace
221 while (cpumask_test_cpu(cpu, mask) && delay_us) {
222 udelay(1);
223 delay_us--;
224 }
225
226 // Other CPU cleared itself from the mask
227 if (delay_us)
228 continue;
229 }
230
231 p = paca_ptrs[cpu];
232
233 cpumask_clear_cpu(cpu, mask);
234
235 pr_warn("CPU %d didn't respond to backtrace IPI, inspecting
paca.\n", cpu);
236 if (!virt_addr_valid(p)) {
237 pr_warn("paca pointer appears corrupt? (%px)\n", p);
238 continue;
239 }
240
241 pr_warn("irq_soft_mask: 0x%02x in_mce: %d in_nmi: %d",
242 p->irq_soft_mask, p->in_mce, p->in_nmi);
243
244 if (virt_addr_valid(p->__current))
245 pr_cont(" current: %d (%s)\n", p->__current->pid,
246 p->__current->comm);
247 else
248 pr_cont(" current pointer corrupt? (%px)\n", p->__current);
249
250 pr_warn("Back trace of paca->saved_r1 (0x%016llx) (possibly
stale):\n", p->saved_r1);
251 show_stack(p->__current, (unsigned long *)p->saved_r1);
252 }
253 }
254
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org