Bug 214469
Summary: | mce_setup BUG: using smp_processor_id() in preemptible [00000000] code: swapper/0/1 | ||
---|---|---|---|
Product: | Process Management | Reporter: | Nicholas Fries (nicholas.a.fries) |
Component: | Preemption | Assignee: | acpi_other |
Status: | NEW --- | ||
Severity: | normal | CC: | nicholas.a.fries |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 5.14.2 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Nicholas Fries
2021-09-20 12:30:47 UTC
I thought this was a function of ACPI, due to BERT and AEPI being involved. Underlying issue seems to be in arch/x86/kernel/cpu/mce/core.c line 136 where I see the following: /* Do initial initialization of a struct mce */ noinstr void mce_setup(struct mce *m) { memset(m, 0, sizeof(struct mce)); m->cpu = m->extcpu = smp_processor_id(); ... Still confirming but this would not be a function of ACPI, simply getting hints from there as to there being an error. Please correct me if I'm wrong. I've made a change to my local kernel where I'm using get_cpu(), put_cpu() instead of smp_processor_id(). Waiting for the next crash to see if the MCE Register Array is printed. Just wanted to update this - my local change resolved the issue. |