Re: x86/pti: smp_processor_id() called while preemptible in resume-from-sleep

From: Thomas Gleixner
Date: Sat Dec 30 2017 - 10:05:05 EST


On Sat, 30 Dec 2017, Dominik Brodowski wrote:

> Dear all,
>
> resume-from-sleep (mem/S3) on v4.15-rc5-149-g5aa90a845892 triggers the
> following bug. If I boot with "pti=off", the kernel does not show this
> issue, and neither did kernels before pti was merged:
>
> [ 39.951703] ACPI: Low-level resume complete
> [ 39.951832] ACPI: EC: EC started
> [ 39.951840] PM: Restoring platform NVS memory
> [ 39.954648] Enabling non-boot CPUs ...
> [ 39.954792] x86: Booting SMP configuration:
> [ 39.954800] smpboot: Booting Node 0 Processor 1 APIC 0x2
> [ 39.954834] BUG: using smp_processor_id() in preemptible [00000000] code: sh/465
> [ 39.954841] caller is native_cpu_up+0x2f0/0xa30

I can't reproduce at the moment and I can't find a possible reason for this
by code inspection.

Can you please provide your .config file and perhaps decode the two
offending call sites with

scripts/faddr2line vmlinux native_cpu_up+0x2f0/0xa30 native_cpu_up+0x447/0xa30

Thanks,

tglx