2021-02-25 13:02:56

by kernel test robot

[permalink] [raw]
Subject: [entry] 06ce4d6d9e: WARNING:at_kernel/entry/common.c:#irqentry_enter_from_user_mode


Greeting,

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

commit: 06ce4d6d9e2df33a4f3fdb5032b73536fb420c05 ("entry: Simplify the common syscall API")
https://git.kernel.org/cgit/linux/kernel/git/luto/linux.git x86/fixes


in testcase: rcutorture
version:
with following parameters:

runtime: 300s
test: default
torture_type: srcu

test-description: rcutorture is rcutorture kernel module load/unload test.
test-url: https://www.kernel.org/doc/Documentation/RCU/torture.txt


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):


+-----------------------------------------------------------------+------------+------------+
| | 4a79388a8e | 06ce4d6d9e |
+-----------------------------------------------------------------+------------+------------+
| boot_successes | 18 | 0 |
| boot_failures | 0 | 18 |
| WARNING:at_kernel/entry/common.c:#irqentry_enter_from_user_mode | 0 | 18 |
| RIP:irqentry_enter_from_user_mode | 0 | 18 |
| PANIC:double_fault | 0 | 3 |
| double_fault:#[##] | 0 | 3 |
| RIP:exc_page_fault | 0 | 3 |
| RIP:__sanitizer_cov_trace_pc | 0 | 3 |
+-----------------------------------------------------------------+------------+------------+


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


[ 207.194133] WARNING: CPU: 0 PID: 166 at kernel/entry/common.c:20 irqentry_enter_from_user_mode (kbuild/src/rand-3/kernel/entry/common.c:20 kbuild/src/rand-3/kernel/entry/common.c:287)
[ 207.195915] Modules linked in:
[ 207.195915] CPU: 0 PID: 166 Comm: modprobe Not tainted 5.11.0-rc5-00258-g06ce4d6d9e2d #21
[ 207.195915] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014
[ 207.195915] RIP: 0010:irqentry_enter_from_user_mode (kbuild/src/rand-3/kernel/entry/common.c:20 kbuild/src/rand-3/kernel/entry/common.c:287)
[ 207.195915] Code: 90 0f 0b 90 f6 87 88 00 00 00 03 75 a1 90 0f 0b 90 eb 9b 90 0f 0b 90 eb a9 90 0f 0b 90 eb bb 8b 05 66 11 82 06 85 c0 7f 1a 90 <0f> 0b 90 8b 05 58 11 82 06 85 c0 7e c0 bf 01 00 00 00 e8 ca 05 00
All code
========
0: 90 nop
1: 0f 0b ud2
3: 90 nop
4: f6 87 88 00 00 00 03 testb $0x3,0x88(%rdi)
b: 75 a1 jne 0xffffffffffffffae
d: 90 nop
e: 0f 0b ud2
10: 90 nop
11: eb 9b jmp 0xffffffffffffffae
13: 90 nop
14: 0f 0b ud2
16: 90 nop
17: eb a9 jmp 0xffffffffffffffc2
19: 90 nop
1a: 0f 0b ud2
1c: 90 nop
1d: eb bb jmp 0xffffffffffffffda
1f: 8b 05 66 11 82 06 mov 0x6821166(%rip),%eax # 0x682118b
25: 85 c0 test %eax,%eax
27: 7f 1a jg 0x43
29: 90 nop
2a:* 0f 0b ud2 <-- trapping instruction
2c: 90 nop
2d: 8b 05 58 11 82 06 mov 0x6821158(%rip),%eax # 0x682118b
33: 85 c0 test %eax,%eax
35: 7e c0 jle 0xfffffffffffffff7
37: bf 01 00 00 00 mov $0x1,%edi
3c: e8 .byte 0xe8
3d: ca 05 00 lret $0x5

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 90 nop
3: 8b 05 58 11 82 06 mov 0x6821158(%rip),%eax # 0x6821161
9: 85 c0 test %eax,%eax
b: 7e c0 jle 0xffffffffffffffcd
d: bf 01 00 00 00 mov $0x1,%edi
12: e8 .byte 0xe8
13: ca 05 00 lret $0x5
[ 207.195915] RSP: 0000:ffff88811e9e7f00 EFLAGS: 00010097
[ 207.195915] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff8881876dc000
[ 207.210292] NET: Registered protocol family 10
[ 207.195915] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 207.195915] RBP: ffff88811e9e7f00 R08: ffffffff81db1bb4 R09: fffffbfff117ebd1
[ 207.195915] R10: 0000000000000003 R11: fffffbfff117ebd0 R12: ffff88811e9e7f58
[ 207.220383] R13: 00007f02e6d74120 R14: 0000000000000014 R15: 0000000000000000
[ 207.220383] FS: 0000000000000000(0000) GS:ffff8881e7800000(0000) knlGS:0000000000000000
[ 207.220383] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 207.220383] CR2: 00007f02e6d74120 CR3: 000000011e9e8000 CR4: 00000000000406b0
[ 207.220383] Call Trace:
[ 207.220383] irqentry_enter (kbuild/src/rand-3/kernel/entry/common.c:306)
[ 207.220383] exc_page_fault (kbuild/src/rand-3/arch/x86/mm/fault.c:1473)
[ 207.220383] ? asm_exc_page_fault (kbuild/src/rand-3/arch/x86/include/asm/idtentry.h:580)
[ 207.232647] asm_exc_page_fault (kbuild/src/rand-3/arch/x86/include/asm/idtentry.h:580)
[ 207.232647] RIP: 0033:0x7f02e6d74120
[ 207.232647] Code: Unable to access opcode bytes at RIP 0x7f02e6d740f6.

Code starting with the faulting instruction
===========================================
[ 207.232647] RSP: 002b:00007ffc9cb16d40 EFLAGS: 00010202
[ 207.232647] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
[ 207.239324] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
[ 207.239324] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[ 207.239324] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
[ 207.239324] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[ 207.246101] irq event stamp: 496
[ 207.246101] hardirqs last enabled at (495): _raw_spin_unlock_irq (kbuild/src/rand-3/arch/x86/include/asm/paravirt.h:663 kbuild/src/rand-3/include/linux/spinlock_api_smp.h:168 kbuild/src/rand-3/kernel/locking/spinlock.c:199)
[ 207.246101] hardirqs last disabled at (496): irqentry_enter (kbuild/src/rand-3/kernel/entry/common.c:306)
[ 207.252661] Segment Routing with IPv6
[ 207.246101] softirqs last enabled at (322): __do_softirq (kbuild/src/rand-3/arch/x86/include/asm/preempt.h:26 kbuild/src/rand-3/kernel/softirq.c:371)
[ 207.254825] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 207.246101] softirqs last disabled at (303): asm_call_irq_on_stack (kbuild/src/rand-3/arch/x86/entry/entry_64.S:796)
[ 207.246101] ---[ end trace f60a53190848aae1 ]---
[ 207.273363] 9pnet: Installing 9P2000 support
[ 207.275755] oprofile: using NMI timer interrupt.
[ 207.282151] IPI shorthand broadcast: enabled
[ 207.283792] ... APIC ID: 00000000 (0)
[ 207.284977] ... APIC VERSION: 00050014
[ 207.285835] 0000000000000000000000000000000000000000000000000000000000000000
[ 207.285835] 0000000000000000000000000000000000000000000000000000000000001000
[ 207.285835]
[ 207.292870] number of MP IRQ sources: 15.
[ 207.294166] number of IO-APIC #0 registers: 24.
[ 207.295510] testing the IO APIC.......................
[ 207.297319] IO APIC #0......
[ 207.302406] .... register #00: 00000000
[ 207.303656] ....... : physical APIC id: 00
[ 207.304838] ....... : Delivery Type: 0
[ 207.306142] ....... : LTS : 0
[ 207.307263] .... register #01: 00170011
[ 207.308341] ....... : max redirection entries: 17
[ 207.310306] ....... : PRQ implemented: 0
[ 207.311590] ....... : IO APIC version: 11
[ 207.313021] .... register #02: 00000000
[ 207.314388] ....... : arbitration: 00
[ 207.315554] .... IRQ redirection table:
[ 207.316816] IOAPIC 0:
[ 207.317560] pin00, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.318406] modprobe (166) used greatest stack depth: 26880 bytes left
[ 207.319933] pin01, enabled , edge , high, V(22), IRR(0), S(0), logical , D(0002), M(0)
[ 207.323994] pin02, enabled , edge , high, V(30), IRR(0), S(0), logical , D(0001), M(0)
[ 207.326546] pin03, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.329369] pin04, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.331516] pin05, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.333822] pin06, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.336105] pin07, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.338203] pin08, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.340547] pin09, enabled , level, high, V(21), IRR(0), S(0), logical , D(0002), M(0)
[ 207.342871] pin0a, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.345000] pin0b, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.347389] pin0c, enabled , edge , high, V(21), IRR(0), S(0), logical , D(0001), M(0)
[ 207.349674] pin0d, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.351821] pin0e, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.354185] pin0f, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.356491] pin10, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.358627] pin11, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.360960] pin12, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.363284] pin13, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.365399] pin14, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.367735] pin15, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.370043] pin16, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.372158] pin17, disabled, edge , high, V(00), IRR(0), S(0), physical, D(0000), M(0)
[ 207.374571] IRQ to pin mappings:
[ 207.375470] IRQ0 -> 0:2
[ 207.376375] IRQ1 -> 0:1
[ 207.377142] IRQ3 -> 0:3
[ 207.378006] IRQ4 -> 0:4
[ 207.378775] IRQ5 -> 0:5
[ 207.379716] IRQ6 -> 0:6
[ 207.380467] IRQ7 -> 0:7
[ 207.381240] IRQ8 -> 0:8
[ 207.382025] IRQ9 -> 0:9
[ 207.382997] IRQ10 -> 0:10
[ 207.383797] IRQ11 -> 0:11
[ 207.384588] IRQ12 -> 0:12
[ 207.385395] IRQ13 -> 0:13
[ 207.386401] IRQ14 -> 0:14
[ 207.387150] IRQ15 -> 0:15
[ 207.387904] .................................... done.
[ 207.389606] sched_clock: Marking stable (207129838323, 259369590)->(207736736253, -347528340)
[ 207.393092] Loading compiled-in X.509 certificates
[ 207.398164] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers
[ 207.400844] page_owner is disabled


To reproduce:

# build kernel
cd linux
cp config-5.11.0-rc5-00258-g06ce4d6d9e2d .config
make HOSTCC=gcc-9 CC=gcc-9 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,
Oliver Sang


Attachments:
(No filename) (11.48 kB)
config-5.11.0-rc5-00258-g06ce4d6d9e2d (162.64 kB)
job-script (4.36 kB)
dmesg.xz (513.58 kB)
Download all attachments