2020-05-04 15:07:46

by Alexandre Chartre

[permalink] [raw]
Subject: [RFC v4][PATCH part-1 4/7] mm/asi: Interrupt ASI on interrupt/exception/NMI

If an interrupt/exception/NMI is triggered while using ASI then
ASI is interrupted and the system switches back to the (kernel)
page-table used before entering ASI.

When the interrupt/exception/NMI handler returns then ASI is
resumed by switching back to the ASI page-table.

Signed-off-by: Alexandre Chartre <[email protected]>
---
arch/x86/entry/calling.h | 26 +++++-
arch/x86/entry/entry_64.S | 22 ++++++
arch/x86/include/asm/asi.h | 122 +++++++++++++++++++++++++++++
arch/x86/include/asm/asi_session.h | 7 ++
arch/x86/include/asm/mmu_context.h | 3 +-
arch/x86/kernel/asm-offsets.c | 5 ++
arch/x86/mm/asi.c | 67 ++++++++++++++--
7 files changed, 242 insertions(+), 10 deletions(-)

diff --git a/arch/x86/entry/calling.h b/arch/x86/entry/calling.h
index 0789e13ece90..ca23b79adecf 100644
--- a/arch/x86/entry/calling.h
+++ b/arch/x86/entry/calling.h
@@ -6,6 +6,7 @@
#include <asm/percpu.h>
#include <asm/asm-offsets.h>
#include <asm/processor-flags.h>
+#include <asm/asi.h>

/*

@@ -172,7 +173,30 @@ For 32-bit we have the following conventions - kernel is built with
.endif
.endm

-#ifdef CONFIG_PAGE_TABLE_ISOLATION
+#if defined(CONFIG_ADDRESS_SPACE_ISOLATION)
+
+/*
+ * For now, ASI is not compatible with PTI.
+ */
+
+.macro SWITCH_TO_KERNEL_CR3 scratch_reg:req
+.endm
+
+.macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req
+.endm
+
+.macro SWITCH_TO_USER_CR3_STACK scratch_reg:req
+.endm
+
+.macro SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg:req save_reg:req
+ ASI_INTERRUPT_AND_SAVE_CR3 \scratch_reg \save_reg
+.endm
+
+.macro RESTORE_CR3 scratch_reg:req save_reg:req
+ ASI_RESUME_AND_RESTORE_CR3 \save_reg
+.endm
+
+#elif defined(CONFIG_PAGE_TABLE_ISOLATION)

/*
* PAGE_TABLE_ISOLATION PGDs are 8k. Flip bit 12 to switch between the two
diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 0e9504fabe52..ac47da63a29f 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -573,7 +573,15 @@ SYM_CODE_START(interrupt_entry)

CALL_enter_from_user_mode

+#ifdef CONFIG_ADDRESS_SPACE_ISOLATION
+ jmp 2f
+#endif
1:
+#ifdef CONFIG_ADDRESS_SPACE_ISOLATION
+ /* Interrupt address space isolation if it is active */
+ ASI_INTERRUPT scratch_reg=%rdi
+2:
+#endif
ENTER_IRQ_STACK old_rsp=%rdi save_ret=1
/* We entered an interrupt context - irqs are off: */
TRACE_IRQS_OFF
@@ -673,6 +681,10 @@ retint_kernel:
jnz 1f
call preempt_schedule_irq
1:
+#endif
+#ifdef CONFIG_ADDRESS_SPACE_ISOLATION
+ ASI_PREPARE_RESUME
+ ASI_RESUME scratch_reg=%rdi
#endif
/*
* The iretq could re-enable interrupts:
@@ -1238,6 +1250,9 @@ SYM_CODE_START_LOCAL(paranoid_entry)
* This is also why CS (stashed in the "iret frame" by the
* hardware at entry) can not be used: this may be a return
* to kernel code, but with a user CR3 value.
+ *
+ * If ASI is enabled, this also handles the case where we are
+ * using an ASI CR3 value.
*/
SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg=%rax save_reg=%r14

@@ -1313,6 +1328,13 @@ SYM_CODE_START_LOCAL(error_entry)

.Lerror_entry_done_lfence:
FENCE_SWAPGS_KERNEL_ENTRY
+#ifdef CONFIG_ADDRESS_SPACE_ISOLATION
+ /*
+ * Interrupt address space isolation if it is active. This will restore
+ * the original kernel CR3.
+ */
+ ASI_INTERRUPT scratch_reg=%rdi
+#endif
.Lerror_entry_done:
ret

diff --git a/arch/x86/include/asm/asi.h b/arch/x86/include/asm/asi.h
index bcfb68e8e392..d240954b2f85 100644
--- a/arch/x86/include/asm/asi.h
+++ b/arch/x86/include/asm/asi.h
@@ -108,6 +108,128 @@ extern void asi_set_pagetable(struct asi *asi, pgd_t *pagetable);
extern int asi_enter(struct asi *asi);
extern void asi_exit(struct asi *asi);

+#else /* __ASSEMBLY__ */
+
+#include <asm/alternative-asm.h>
+#include <asm/asm-offsets.h>
+#include <asm/cpufeatures.h>
+#include <asm/percpu.h>
+#include <asm/processor-flags.h>
+
+#define THIS_ASI_SESSION_asi \
+ PER_CPU_VAR(cpu_tlbstate + TLB_STATE_asi)
+#define THIS_ASI_SESSION_isolation_cr3 \
+ PER_CPU_VAR(cpu_tlbstate + TLB_STATE_asi_isolation_cr3)
+#define THIS_ASI_SESSION_original_cr3 \
+ PER_CPU_VAR(cpu_tlbstate + TLB_STATE_asi_original_cr3)
+#define THIS_ASI_SESSION_idepth \
+ PER_CPU_VAR(cpu_tlbstate + TLB_STATE_asi_idepth)
+
+.macro SET_NOFLUSH_BIT reg:req
+ bts $X86_CR3_PCID_NOFLUSH_BIT, \reg
+.endm
+
+/*
+ * Switch CR3 to the original kernel CR3 value. This is used when exiting
+ * interrupting ASI.
+ */
+.macro ASI_SWITCH_TO_KERNEL_CR3 scratch_reg:req
+ /*
+ * KERNEL pages can always resume with NOFLUSH as we do
+ * explicit flushes.
+ */
+ movq THIS_ASI_SESSION_original_cr3, \scratch_reg
+ ALTERNATIVE "", "SET_NOFLUSH_BIT \scratch_reg", X86_FEATURE_PCID
+ movq \scratch_reg, %cr3
+.endm
+
+/*
+ * Interrupt ASI, when there's an interrupt or exception while we
+ * were running with ASI.
+ */
+.macro ASI_INTERRUPT scratch_reg:req
+ movq THIS_ASI_SESSION_asi, \scratch_reg
+ testq \scratch_reg, \scratch_reg
+ jz .Lasi_interrupt_done_\@
+ incl THIS_ASI_SESSION_idepth
+ cmp $1, THIS_ASI_SESSION_idepth
+ jne .Lasi_interrupt_done_\@
+ ASI_SWITCH_TO_KERNEL_CR3 \scratch_reg
+.Lasi_interrupt_done_\@:
+.endm
+
+.macro ASI_PREPARE_RESUME
+ call asi_prepare_resume
+.endm
+
+/*
+ * Resume ASI, after it was interrupted by an interrupt or an exception.
+ */
+.macro ASI_RESUME scratch_reg:req
+ movq THIS_ASI_SESSION_asi, \scratch_reg
+ testq \scratch_reg, \scratch_reg
+ jz .Lasi_resume_done_\@
+ decl THIS_ASI_SESSION_idepth
+ jnz .Lasi_resume_done_\@
+ movq THIS_ASI_SESSION_isolation_cr3, \scratch_reg
+ mov \scratch_reg, %cr3
+.Lasi_resume_done_\@:
+.endm
+
+/*
+ * Interrupt ASI, special processing when ASI is interrupted by a NMI
+ * or a paranoid interrupt/exception.
+ */
+.macro ASI_INTERRUPT_AND_SAVE_CR3 scratch_reg:req save_reg:req
+ movq %cr3, \save_reg
+ /*
+ * Test the ASI PCID bits. If set, then an ASI page table
+ * is active. If clear, CR3 already has the kernel page table
+ * active.
+ */
+ bt $ASI_PGTABLE_BIT, \save_reg
+ jnc .Ldone_\@
+ incl THIS_ASI_SESSION_idepth
+ ASI_SWITCH_TO_KERNEL_CR3 \scratch_reg
+.Ldone_\@:
+.endm
+
+/*
+ * Resume ASI, special processing when ASI is resumed from a NMI
+ * or a paranoid interrupt/exception.
+ */
+.macro ASI_RESUME_AND_RESTORE_CR3 save_reg:req
+
+ ALTERNATIVE "jmp .Lwrite_cr3_\@", "", X86_FEATURE_PCID
+
+ bt $ASI_PGTABLE_BIT, \save_reg
+ jnc .Lrestore_kernel_cr3_\@
+
+ /*
+ * Restore ASI CR3. We need to update TLB flushing
+ * information.
+ */
+ movq THIS_ASI_SESSION_asi, %rdi
+ movq \save_reg, %rsi
+ call asi_update_flush
+ movq %rax, THIS_ASI_SESSION_isolation_cr3
+ decl THIS_ASI_SESSION_idepth
+ movq %rax, %cr3
+ jmp .Ldone_\@
+
+.Lrestore_kernel_cr3_\@:
+ /*
+ * Restore kernel CR3. KERNEL pages can always resume
+ * with NOFLUSH as we do explicit flushes.
+ */
+ SET_NOFLUSH_BIT \save_reg
+
+.Lwrite_cr3_\@:
+ movq \save_reg, %cr3
+
+.Ldone_\@:
+.endm
+
#endif /* __ASSEMBLY__ */

#endif /* CONFIG_ADDRESS_SPACE_ISOLATION */
diff --git a/arch/x86/include/asm/asi_session.h b/arch/x86/include/asm/asi_session.h
index 9d39c936a4ee..85968f7e8f32 100644
--- a/arch/x86/include/asm/asi_session.h
+++ b/arch/x86/include/asm/asi_session.h
@@ -10,6 +10,13 @@ struct asi_session {
struct asi *asi; /* ASI for this session */
unsigned long isolation_cr3; /* cr3 when ASI is active */
unsigned long original_cr3; /* cr3 before entering ASI */
+ /*
+ * The interrupt depth (idepth) tracks interrupt (actually
+ * interrupt/exception/NMI) nesting. ASI is interrupted on
+ * the first interrupt, and it is resumed when that interrupt
+ * handler returns.
+ */
+ unsigned int idepth; /* interrupt depth */
};

#endif /* CONFIG_ADDRESS_SPACE_ISOLATION */
diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h
index 9b03bad00b81..b8c81e7b197a 100644
--- a/arch/x86/include/asm/mmu_context.h
+++ b/arch/x86/include/asm/mmu_context.h
@@ -243,7 +243,8 @@ static inline unsigned long __get_current_cr3_fast(void)
* field of the ASI session.
*/
if (IS_ENABLED(CONFIG_ADDRESS_SPACE_ISOLATION) &&
- this_cpu_read(cpu_asi_session.asi)) {
+ this_cpu_read(cpu_asi_session.asi) &&
+ !this_cpu_read(cpu_asi_session.idepth)) {
cr3 = this_cpu_read(cpu_asi_session.isolation_cr3);
/* CR3 read never returns with the NOFLUSH bit */
cr3 &= ~X86_CR3_PCID_NOFLUSH;
diff --git a/arch/x86/kernel/asm-offsets.c b/arch/x86/kernel/asm-offsets.c
index 3ca07ad552ae..4c08a688b4b9 100644
--- a/arch/x86/kernel/asm-offsets.c
+++ b/arch/x86/kernel/asm-offsets.c
@@ -94,6 +94,11 @@ static void __used common(void)

/* TLB state for the entry code */
OFFSET(TLB_STATE_user_pcid_flush_mask, tlb_state, user_pcid_flush_mask);
+ OFFSET(TLB_STATE_asi, tlb_state, asi_session.asi);
+ OFFSET(TLB_STATE_asi_isolation_cr3, tlb_state,
+ asi_session.isolation_cr3);
+ OFFSET(TLB_STATE_asi_original_cr3, tlb_state, asi_session.original_cr3);
+ OFFSET(TLB_STATE_asi_idepth, tlb_state, asi_session.idepth);

/* Layout info for cpu_entry_area */
OFFSET(CPU_ENTRY_AREA_entry_stack, cpu_entry_area, entry_stack_page);
diff --git a/arch/x86/mm/asi.c b/arch/x86/mm/asi.c
index cf0d122a3c72..c91ba82a095b 100644
--- a/arch/x86/mm/asi.c
+++ b/arch/x86/mm/asi.c
@@ -68,7 +68,7 @@ EXPORT_SYMBOL(asi_set_pagetable);
* Return an updated ASI CR3 value which specified if TLB needs to
* be flushed or not.
*/
-static unsigned long asi_update_flush(struct asi *asi, unsigned long asi_cr3)
+unsigned long asi_update_flush(struct asi *asi, unsigned long asi_cr3)
{
struct asi_tlb_pgtable *tlb_pgtable;
struct asi_tlb_state *tlb_state;
@@ -90,7 +90,24 @@ static unsigned long asi_update_flush(struct asi *asi, unsigned long asi_cr3)
return asi_cr3;
}

-static void asi_switch_to_asi_cr3(struct asi *asi)
+
+/*
+ * Switch to the ASI pagetable.
+ *
+ * If schedule is ASI_SWITCH_NOW, then immediately switch to the ASI
+ * pagetable by updating the CR3 register with the ASI CR3 value.
+ * Otherwise, if schedule is ASI_SWITCH_ON_RESUME, prepare everything
+ * for switching to ASI pagetable but do not update the CR3 register
+ * yet. This will be done by the next ASI_RESUME call.
+ */
+
+enum asi_switch_schedule {
+ ASI_SWITCH_NOW,
+ ASI_SWITCH_ON_RESUME,
+};
+
+static void asi_switch_to_asi_cr3(struct asi *asi,
+ enum asi_switch_schedule schedule)
{
unsigned long original_cr3, asi_cr3;
struct asi_session *asi_session;
@@ -114,8 +131,16 @@ static void asi_switch_to_asi_cr3(struct asi *asi)
asi_session->original_cr3 = original_cr3;
asi_session->isolation_cr3 = asi_cr3;

- /* Update CR3 to immediately enter ASI */
- native_write_cr3(asi_cr3);
+ if (schedule == ASI_SWITCH_ON_RESUME) {
+ /*
+ * Defer the CR3 update the next ASI resume by setting
+ * the interrupt depth to 1.
+ */
+ asi_session->idepth = 1;
+ } else {
+ /* Update CR3 to immediately enter ASI */
+ native_write_cr3(asi_cr3);
+ }
}

static void asi_switch_to_kernel_cr3(struct asi *asi)
@@ -132,6 +157,7 @@ static void asi_switch_to_kernel_cr3(struct asi *asi)

asi_session = &get_cpu_var(cpu_asi_session);
asi_session->asi = NULL;
+ asi_session->idepth = 0;
}

int asi_enter(struct asi *asi)
@@ -153,7 +179,7 @@ int asi_enter(struct asi *asi)
}

local_irq_save(flags);
- asi_switch_to_asi_cr3(asi);
+ asi_switch_to_asi_cr3(asi, ASI_SWITCH_NOW);
local_irq_restore(flags);

return 0;
@@ -162,8 +188,10 @@ EXPORT_SYMBOL(asi_enter);

void asi_exit(struct asi *asi)
{
+ struct asi_session *asi_session;
struct asi *current_asi;
unsigned long flags;
+ int idepth;

current_asi = this_cpu_read(cpu_asi_session.asi);
if (!current_asi) {
@@ -173,8 +201,31 @@ void asi_exit(struct asi *asi)

WARN_ON(current_asi != asi);

- local_irq_save(flags);
- asi_switch_to_kernel_cr3(asi);
- local_irq_restore(flags);
+ idepth = this_cpu_read(cpu_asi_session.idepth);
+ if (!idepth) {
+ local_irq_save(flags);
+ asi_switch_to_kernel_cr3(asi);
+ local_irq_restore(flags);
+ } else {
+ /*
+ * ASI was interrupted so we already switched back
+ * to the back to the kernel page table and we just
+ * need to clear the ASI session.
+ */
+ asi_session = &get_cpu_var(cpu_asi_session);
+ asi_session->asi = NULL;
+ asi_session->idepth = 0;
+ }
}
EXPORT_SYMBOL(asi_exit);
+
+void asi_prepare_resume(void)
+{
+ struct asi_session *asi_session;
+
+ asi_session = &get_cpu_var(cpu_asi_session);
+ if (!asi_session->asi || asi_session->idepth > 1)
+ return;
+
+ asi_switch_to_asi_cr3(asi_session->asi, ASI_SWITCH_ON_RESUME);
+}
--
2.18.2


2020-05-06 11:24:20

by kernel test robot

[permalink] [raw]
Subject: [mm/asi] c13d1a6ed3: BUG:scheduling_while_atomic

Greeting,

FYI, we noticed the following commit (built with gcc-7):

commit: c13d1a6ed33cf94673c7d281f6d4abe9a329ed31 ("[RFC v4][PATCH part-1 4/7] mm/asi: Interrupt ASI on interrupt/exception/NMI")
url: https://github.com/0day-ci/linux/commits/Alexandre-Chartre/ASI-Part-I-ASI-Infrastructure-and-PTI/20200505-074555


in testcase: boot

on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 8G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+--------------------------------------------------------------------------------------------+------------+------------+
| | f357628b95 | c13d1a6ed3 |
+--------------------------------------------------------------------------------------------+------------+------------+
| boot_successes | 72 | 0 |
| boot_failures | 1 | 85 |
| BUG:kernel_hang_in_boot_stage | 1 | 1 |
| BUG:scheduling_while_atomic | 0 | 84 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/mutex.c | 0 | 50 |
| initcall_srcu_bootup_announce_returned_with_preemption_imbalance | 0 | 19 |
| WARNING:at_init/main.c:#do_one_initcall | 0 | 84 |
| RIP:do_one_initcall | 0 | 84 |
| initcall_rcu_spawn_gp_kthread_returned_with_preemption_imbalance | 0 | 64 |
| initcall_cpu_stop_init_returned_with_preemption_imbalance | 0 | 64 |
| WARNING:at_kernel/stop_machine.c:#cpu_stopper_thread | 0 | 84 |
| RIP:cpu_stopper_thread | 0 | 84 |
| initcall_rcu_spawn_tasks_kthread_returned_with_preemption_imbalance | 0 | 74 |
| initcall_futex_init_returned_with_preemption_imbalance | 0 | 84 |
| initcall_sock_init_returned_with_preemption_imbalance | 0 | 67 |
| initcall_audit_init_returned_with_preemption_imbalance | 0 | 84 |
| initcall_init_ladder_returned_with_preemption_imbalance | 0 | 83 |
| initcall_init_menu_returned_with_preemption_imbalance | 0 | 83 |
| initcall_pci_arch_init_returned_with_preemption_imbalance | 0 | 41 |
| initcall_param_sysfs_init_returned_with_preemption_imbalance | 0 | 66 |
| initcall_pm_sysrq_init_returned_with_preemption_imbalance | 0 | 59 |
| initcall_oom_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_default_bdi_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_kcompactd_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_hugepage_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_rsa_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_crypto_null_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/rwsem.c | 0 | 57 |
| initcall_md#_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_sha1_generic_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_sha256_generic_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_sha512_generic_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_des_generic_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_aes_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_arc#_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_deflate_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_michael_mic_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_crc32c_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_drbg_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_ghash_mod_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_genhd_device_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_blkcg_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_fbmem_init_returned_with_preemption_imbalance | 0 | 36 |
| initcall_acpi_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_vga_arb_device_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_ata_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_devfreq_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_pci_subsys_init_returned_with_preemption_imbalance | 0 | 44 |
| BUG:workqueue_leaked_lock_or_atomic:kworker/u4 | 0 | 83 |
| initcall_clocksource_done_booting_returned_with_preemption_imbalance | 0 | 58 |
| initcall_tracer_init_tracefs_returned_with_preemption_imbalance | 0 | 58 |
| initcall_dquot_init_returned_with_preemption_imbalance | 0 | 43 |
| initcall_chr_dev_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_init_acpi_pm_clocksource_returned_with_preemption_imbalance | 0 | 58 |
| initcall_inet_init_returned_with_preemption_imbalance | 0 | 58 |
| initcall_af_unix_init_returned_with_preemption_imbalance | 0 | 18 |
| initcall_init_sunrpc_returned_with_preemption_imbalance | 0 | 58 |
| BUG:sleeping_function_called_from_invalid_context_at_mm/slab.h | 0 | 62 |
| initcall_acpi_reserve_resources_returned_with_preemption_imbalance | 0 | 14 |
| WARNING:at_fs/read_write.c:#vfs_write | 0 | 58 |
| RIP:vfs_write | 0 | 58 |
| WARNING:at_arch/x86/include/asm/uaccess.h:#strncpy_from_user | 0 | 57 |
| RIP:strncpy_from_user | 0 | 57 |
| BUG:sleeping_function_called_from_invalid_context_at_include/linux/percpu-rwsem.h | 0 | 57 |
| initcall_populate_rootfs_returned_with_preemption_imbalance | 0 | 54 |
| initcall_pci_iommu_init_returned_with_preemption_imbalance | 0 | 30 |
| initcall_msr_init_returned_with_preemption_imbalance | 0 | 54 |
| initcall_cpuid_init_returned_with_preemption_imbalance | 0 | 54 |
| initcall_snapshot_device_init_returned_with_preemption_imbalance | 0 | 54 |
| initcall_kswapd_init_returned_with_preemption_imbalance | 0 | 54 |
| initcall_extfrag_debug_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_workingset_init_returned_with_preemption_imbalance | 0 | 23 |
| initcall_slab_sysfs_init_returned_with_preemption_imbalance | 0 | 35 |
| initcall_ext4_init_fs_returned_with_preemption_imbalance | 0 | 2 |
| initcall_init_nfs_fs_returned_with_preemption_imbalance | 0 | 52 |
| initcall_init_cifs_returned_with_preemption_imbalance | 0 | 50 |
| initcall_ipc_sysctl_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_jent_mod_init_returned_with_preemption_imbalance | 0 | 50 |
| initcall_percpu_counter_startup_returned_with_preemption_imbalance | 0 | 50 |
| initcall_acpi_button_driver_init_returned_with_preemption_imbalance | 0 | 50 |
| initcall_acpi_thermal_init_returned_with_preemption_imbalance | 0 | 50 |
| initcall_erst_dbg_init_returned_with_preemption_imbalance | 0 | 21 |
| BUG:sleeping_function_called_from_invalid_context_at_fs/dcache.c | 0 | 13 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/workqueue.c | 0 | 76 |
| initcall_pty_init_returned_with_preemption_imbalance | 0 | 42 |
| kernel_BUG_at_mm/vmalloc.c | 0 | 76 |
| invalid_opcode:#[##] | 0 | 76 |
| RIP:__get_vm_area_node | 0 | 75 |
| Kernel_panic-not_syncing:Fatal_exception_in_interrupt | 0 | 75 |
| BUG:workqueue_leaked_lock_or_atomic:kworker | 0 | 39 |
| initcall_usb_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_pps_init_returned_with_preemption_imbalance | 0 | 18 |
| initcall_pnpacpi_init_returned_with_preemption_imbalance | 0 | 43 |
| initcall_pcibios_assign_resources_returned_with_preemption_imbalance | 0 | 42 |
| initcall_pci_apply_final_quirks_returned_with_preemption_imbalance | 0 | 47 |
| initcall_init_tsc_clocksource_returned_with_preemption_imbalance | 0 | 19 |
| initcall_init_nfs_v4_returned_with_preemption_imbalance | 0 | 42 |
| initcall_nfs4filelayout_init_returned_with_preemption_imbalance | 0 | 22 |
| initcall_x509_key_init_returned_with_preemption_imbalance | 0 | 25 |
| initcall_bsg_init_returned_with_preemption_imbalance | 0 | 25 |
| initcall_btree_module_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_init_hw_perf_events_returned_with_preemption_imbalance | 0 | 47 |
| BUG:sleeping_function_called_from_invalid_context_at_mm/vmalloc.c | 0 | 39 |
| initcall_init_real_mode_returned_with_preemption_imbalance | 0 | 35 |
| initcall_spawn_ksoftirqd_returned_with_preemption_imbalance | 0 | 47 |
| WARNING:at_kernel/time/timer.c:#call_timer_fn | 0 | 37 |
| RIP:call_timer_fn | 0 | 37 |
| RIP:default_idle | 0 | 29 |
| initcall_irq_pm_init_ops_returned_with_preemption_imbalance | 0 | 4 |
| initcall_ptp_init_returned_with_preemption_imbalance | 0 | 10 |
| initcall_init_trace_printk_function_export_returned_with_preemption_imbalance | 0 | 1 |
| BUG:sleeping_function_called_from_invalid_context_at_mm/filemap.c | 0 | 38 |
| initcall_i8237A_init_ops_returned_with_preemption_imbalance | 0 | 3 |
| initcall_iosf_mbi_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_system_trusted_keyring_init_returned_with_preemption_imbalance | 0 | 21 |
| initcall_init_nlm_returned_with_preemption_imbalance | 0 | 4 |
| initcall_serial8250_init_returned_with_preemption_imbalance | 0 | 34 |
| initcall_nvram_module_init_returned_with_preemption_imbalance | 0 | 32 |
| initcall_hwrng_modinit_returned_with_preemption_imbalance | 0 | 32 |
| initcall_nvm_misc_init_returned_with_preemption_imbalance | 0 | 32 |
| initcall_cacheinfo_sysfs_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_loop_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_rdac_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_hp_sw_init_returned_with_preemption_imbalance | 0 | 10 |
| initcall_clariion_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_alua_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_piix_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_macsec_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_atl1e_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_cnic_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_bnx2x_init_returned_with_preemption_imbalance | 0 | 29 |
| initcall_be_init_module_returned_with_preemption_imbalance | 0 | 29 |
| initcall_e100_init_module_returned_with_preemption_imbalance | 0 | 20 |
| initcall_netlink_proto_init_returned_with_preemption_imbalance | 0 | 12 |
| initcall_mem_cgroup_init_returned_with_preemption_imbalance | 0 | 2 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/printk/printk.c | 0 | 3 |
| WARNING:at_kernel/smp.c:#smp_call_function_single | 0 | 14 |
| RIP:smp_call_function_single | 0 | 14 |
| initcall_fcntl_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_serial_pci_driver_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_nozomi_init_returned_with_preemption_imbalance | 0 | 7 |
| BUG:sleeping_function_called_from_invalid_context_at_drivers/net/ethernet/intel/e1000_hw.c | 0 | 4 |
| initcall_e1000_init_module_returned_with_preemption_imbalance | 0 | 13 |
| initcall_ixgbe_init_module_returned_with_preemption_imbalance | 0 | 13 |
| initcall_i40e_init_module_returned_with_preemption_imbalance | 0 | 13 |
| initcall_ql3xxx_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_ppp_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_aoe_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_i8042_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_mousedev_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_evdev_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_uinput_misc_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_cmos_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_ptp_kvm_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_strp_dev_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_mcheck_init_device_returned_with_preemption_imbalance | 0 | 13 |
| initcall_dev_mcelog_init_device_returned_with_preemption_imbalance | 0 | 13 |
| initcall_print_ICs_returned_with_preemption_imbalance | 0 | 13 |
| initcall_cpu_latency_qos_init_returned_with_preemption_imbalance | 0 | 13 |
| initcall_taskstats_init_returned_with_preemption_imbalance | 0 | 6 |
| initcall_fscrypt_init_returned_with_preemption_imbalance | 0 | 12 |
| WARNING:at_drivers/pci/search.c:#pci_get_dev_by_id | 0 | 18 |
| RIP:pci_get_dev_by_id | 0 | 18 |
| initcall_pci_sysfs_init_returned_with_preemption_imbalance | 0 | 13 |
| BUG:sleeping_function_called_from_invalid_context_at_drivers/input/serio/libps2.c | 0 | 7 |
| initcall_deferred_probe_initcall_returned_with_preemption_imbalance | 0 | 13 |
| initcall_init_netconsole_returned_with_preemption_imbalance | 0 | 8 |
| initcall_ip_auto_config_returned_with_preemption_imbalance | 0 | 10 |
| Kernel_panic-not_syncing:No_working_init_found | 0 | 3 |
| initcall_thermal_init_returned_with_preemption_imbalance | 0 | 16 |
| initcall_ioapic_init_ops_returned_with_preemption_imbalance | 0 | 11 |
| initcall_start_periodic_check_for_corruption_returned_with_preemption_imbalance | 0 | 12 |
| initcall_init_sd_returned_with_preemption_imbalance | 0 | 5 |
| initcall_acpi_pci_init_returned_with_preemption_imbalance | 0 | 8 |
| initcall_component_debug_init_returned_with_preemption_imbalance | 0 | 7 |
| initcall_dax_core_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_firmware_class_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_asymmetric_key_init_returned_with_preemption_imbalance | 0 | 22 |
| initcall_kyber_init_returned_with_preemption_imbalance | 0 | 9 |
| initcall_hangcheck_init_returned_with_preemption_imbalance | 0 | 12 |
| RIP:vprintk_emit | 0 | 3 |
| initcall_dummy_init_module_returned_with_preemption_imbalance | 0 | 2 |
| initcall_phy_module_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_init_events_returned_with_preemption_imbalance | 0 | 2 |
| initcall_proc_cmdline_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_deadline_init_returned_with_preemption_imbalance | 0 | 12 |
| initcall_sg_pool_init_returned_with_preemption_imbalance | 0 | 8 |
| initcall_init_jiffies_clocksource_returned_with_preemption_imbalance | 0 | 17 |
| initcall_init_bio_returned_with_preemption_imbalance | 0 | 4 |
| initcall_proc_vmalloc_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_acpi_fan_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_tg3_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_ia32_binfmt_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_add_pcspkr_returned_with_preemption_imbalance | 0 | 1 |
| initcall_iommu_subsys_init_returned_with_preemption_imbalance | 0 | 4 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/rcu/tree.c | 0 | 5 |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/sched/completion.c | 0 | 5 |
| initcall_igb_init_module_returned_with_preemption_imbalance | 0 | 9 |
| initcall_igbvf_init_module_returned_with_preemption_imbalance | 0 | 5 |
| initcall_ixgb_init_module_returned_with_preemption_imbalance | 0 | 8 |
| initcall_sky2_init_module_returned_with_preemption_imbalance | 0 | 8 |
| initcall_ns83820_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_vxge_starter_returned_with_preemption_imbalance | 0 | 6 |
| initcall_ehci_hcd_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_uhci_hcd_init_returned_with_preemption_imbalance | 0 | 9 |
| initcall_acm_init_returned_with_preemption_imbalance | 0 | 8 |
| initcall_usb_storage_driver_init_returned_with_preemption_imbalance | 0 | 6 |
| initcall_alauda_driver_init_returned_with_preemption_imbalance | 0 | 5 |
| WARNING:at_kernel/irq/manage.c:#__free_irq | 0 | 5 |
| RIP:__free_irq | 0 | 5 |
| initcall_hid_init_returned_with_preemption_imbalance | 0 | 11 |
| initcall_pmc_atom_init_returned_with_preemption_imbalance | 0 | 12 |
| initcall_init_p9_returned_with_preemption_imbalance | 0 | 12 |
| initcall_init_dns_resolver_returned_with_preemption_imbalance | 0 | 5 |
| initcall_mcheck_late_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_threshold_init_device_returned_with_preemption_imbalance | 0 | 1 |
| initcall_print_ipi_mode_returned_with_preemption_imbalance | 0 | 5 |
| initcall_phy_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_sysctl_core_init_returned_with_preemption_imbalance | 0 | 5 |
| BUG:sleeping_function_called_from_invalid_context_at_mm/page_alloc.c | 0 | 5 |
| initcall_pm_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_irq_poll_setup_returned_with_preemption_imbalance | 0 | 3 |
| initcall_ipc_init_returned_with_preemption_imbalance | 0 | 8 |
| initcall_fsnotify_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_filelock_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_udp_bpf_v4_build_proto_returned_with_preemption_imbalance | 0 | 1 |
| RIP:dump_stack | 0 | 3 |
| initcall_ssb_modinit_returned_with_preemption_imbalance | 0 | 5 |
| initcall_aio_setup_returned_with_preemption_imbalance | 0 | 1 |
| initcall_cma_init_reserved_areas_returned_with_preemption_imbalance | 0 | 7 |
| initcall_backlight_class_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_ipc_ns_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_crypto_ecb_module_init_returned_with_preemption_imbalance | 0 | 6 |
| BUG:sleeping_function_called_from_invalid_context_at_mm/vmstat.c | 0 | 1 |
| initcall_journal_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_init_cryptoloop_returned_with_preemption_imbalance | 0 | 1 |
| initcall_jme_init_module_returned_with_preemption_imbalance | 0 | 5 |
| initcall_qlcnic_init_module_returned_with_preemption_imbalance | 0 | 5 |
| initcall_bdx_module_init_returned_with_preemption_imbalance | 0 | 7 |
| initcall_tlan_probe_returned_with_preemption_imbalance | 0 | 4 |
| initcall_bsdcomp_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_ppp_mppe_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_pppox_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_catc_driver_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_pegasus_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_rtl8150_driver_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_ax#_178a_driver_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_eem_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_smsc95xx_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_gl620a_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_net1080_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_plusb_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_rndis_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_cdc_subset_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_zaurus_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_mcs7830_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_kalmia_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_sierra_net_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_cdc_ncm_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_lg_vl600_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_ene_ub6250_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_freecom_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_jumpshot_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_karma_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_onetouch_driver_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_realtek_cr_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_sddr09_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_usbat_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_alsa_hwdep_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_sched_clock_init_late_returned_with_preemption_imbalance | 0 | 4 |
| initcall_pm_debugfs_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_load_system_certificate_list_returned_with_preemption_imbalance | 0 | 4 |
| initcall_acpi_processor_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_hwmon_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_init_scsi_returned_with_preemption_imbalance | 0 | 5 |
| initcall_alsa_sound_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_topology_sysfs_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_myri10ge_init_module_returned_with_preemption_imbalance | 0 | 5 |
| initcall_slip_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_kaweth_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_asix_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_cdc_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_dm9601_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_wdm_driver_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_intel_pstate_init_returned_with_preemption_imbalance | 0 | 6 |
| initcall_packet_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_alsa_sound_last_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_net_ns_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_irq_sysfs_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_crypto_authenc_module_init_returned_with_preemption_imbalance | 0 | 5 |
| initcall_init_dax_wait_table_returned_with_preemption_imbalance | 0 | 2 |
| initcall_ks8851_platform_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_netxen_init_module_returned_with_preemption_imbalance | 0 | 2 |
| initcall_cp_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_rhine_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_deflate_init_returned_with_preemption_imbalance | 0 | 4 |
| initcall_topology_init_returned_with_preemption_imbalance | 0 | 3 |
| initcall_init_clocksource_sysfs_returned_with_preemption_imbalance | 0 | 2 |
| initcall_iomap_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_crash_save_vmcoreinfo_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_user_namespace_sysctl_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_clockevents_init_sysfs_returned_with_preemption_imbalance | 0 | 2 |
| initcall_sysfb_init_returned_with_preemption_imbalance | 0 | 1 |
| RIP:console_unlock | 0 | 2 |
| BUG:sleeping_function_called_from_invalid_context_at_fs/file_table.c | 0 | 4 |
| initcall_init_devpts_fs_returned_with_preemption_imbalance | 0 | 2 |
| initcall_pnp_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_starfire_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_sundance_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_isd200_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_intel8x0_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_save_microcode_in_initrd_returned_with_preemption_imbalance | 0 | 4 |
| initcall_opp_debug_init_returned_with_preemption_imbalance | 0 | 1 |
| WARNING:at_kernel/smp.c:#smp_call_function_many_cond | 0 | 1 |
| RIP:smp_call_function_many_cond | 0 | 1 |
| initcall_dio_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_datafab_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_init_pipe_fs_returned_with_preemption_imbalance | 0 | 1 |
| initcall_wq_sysfs_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_userfaultfd_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_boot_params_ksysfs_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_ras_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_reboot_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_init_lapic_sysfs_returned_with_preemption_imbalance | 0 | 1 |
| initcall_ehci_pci_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_intel8x0m_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_init_error_injection_returned_with_preemption_imbalance | 0 | 1 |
| initcall_genl_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_perf_event_sysfs_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_proc_genhd_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_init_fat_fs_returned_with_preemption_imbalance | 0 | 1 |
| initcall_pci_proc_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_cgwb_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_alarmtimer_init_returned_with_preemption_imbalance | 0 | 1 |
| WARNING:at_kernel/sched/core.c:#finish_task_switch | 0 | 1 |
| RIP:finish_task_switch | 0 | 1 |
| initcall_fealnx_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_smsc75xx_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_ipheth_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_cx82310_driver_init_returned_with_preemption_imbalance | 0 | 1 |
| initcall_cypress_driver_init_returned_with_preemption_imbalance | 0 | 2 |
| initcall_sync_debugfs_init_returned_with_preemption_imbalance | 0 | 1 |
+--------------------------------------------------------------------------------------------+------------+------------+


If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>


[ 5.026797] BUG: scheduling while atomic: swapper/0/0/0x00000010
[ 5.030491] Modules linked in:
[ 5.032401] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.7.0-rc1-00006-gc13d1a6ed33cf9 #1
[ 5.034485] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ 5.034485] Call Trace:
[ 5.034485] dump_stack+0x50/0x63
[ 5.034485] __schedule_bug+0x5c/0x6a
[ 5.034485] __schedule+0xa1/0x5ab
[ 5.034485] ? kernel_thread+0x57/0x71
[ 5.034485] schedule+0x9f/0xdf
[ 5.034485] schedule_preempt_disabled+0x15/0x1e
[ 5.034485] rest_init+0xbc/0xc6
[ 5.034485] start_kernel+0x4a8/0x4ca
[ 5.034485] secondary_startup_64+0xb6/0xc0
[ 5.034581] TSC deadline timer enabled
[ 5.035761] smpboot: CPU0: Intel Xeon E312xx (Sandy Bridge) (family: 0x6, model: 0x2a, stepping: 0x1)
[ 5.038485] Performance Events: unsupported p6 CPU model 42 no PMU driver, software events only.
[ 5.038505] ------------[ cut here ]------------
[ 5.040743] initcall init_hw_perf_events+0x0/0x4d4 returned with preemption imbalance
[ 5.042549] WARNING: CPU: 0 PID: 1 at init/main.c:1170 do_one_initcall+0x172/0x1bb
[ 5.046485] Modules linked in:
[ 5.046485] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G W 5.7.0-rc1-00006-gc13d1a6ed33cf9 #1
[ 5.046485] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ 5.046485] RIP: 0010:do_one_initcall+0x172/0x1bb
[ 5.046485] Code: 00 00 48 c7 c6 0e 8f 27 82 48 89 e7 e8 7a 55 3e 00 fb 80 3c 24 00 74 14 48 89 e2 48 89 ee 48 c7 c7 23 8f 27 82 e8 14 70 05 00 <0f> 0b 48 8b 4c 24 40 65 48 33 0c 25 28 00 00 00 44 89 e8 74 05 e8
[ 5.046485] RSP: 0000:ffffc90000013ea0 EFLAGS: 00010292
[ 5.046485] RAX: 0000000000000000 RBX: ffffffff82a2534c RCX: 0000000000000000
[ 5.046485] RDX: 0000000000000001 RSI: ffffc90000013d64 RDI: ffffffff82a5970c
[ 5.046485] RBP: ffffffff828e0b7b R08: 0000000000000000 R09: ffff8880000bdaa0
[ 5.046485] R10: 000000000003ffff R11: ffffc90000013d28 R12: 0000000000000000
[ 5.046485] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 5.046485] FS: 0000000000000000(0000) GS:ffff88823fc00000(0000) knlGS:0000000000000000
[ 5.046485] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 5.046485] CR2: 00000000ffffffff CR3: 0000000002412000 CR4: 00000000000006f0
[ 5.046485] Call Trace:
[ 5.046485] ? proc_register+0xb4/0x10e
[ 5.046485] kernel_init_freeable+0xba/0x224
[ 5.046485] ? rest_init+0xc6/0xc6
[ 5.046485] kernel_init+0xa/0xff
[ 5.046485] ret_from_fork+0x35/0x40
[ 5.046485] ---[ end trace 9a8275f1c79bab99 ]---


To reproduce:

# build kernel
cd linux
cp config-5.7.0-rc1-00006-gc13d1a6ed33cf9 .config
make HOSTCC=gcc-7 CC=gcc-7 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



Thanks,
lkp


Attachments:
(No filename) (44.83 kB)
config-5.7.0-rc1-00006-gc13d1a6ed33cf9 (117.94 kB)
job-script (4.79 kB)
dmesg.xz (13.86 kB)
Download all attachments