Massive page fault recursion leads to a double fault and a crash in srso_return_thunk
Issue
The kernel crashed with a message: BUG: #DF stack guard page was hit at xxx:
BUG: #DF stack guard page was hit at 000000006187eb11 (stack is 00000000432471a4..00000000646dc3fc)
stack guard page: 0000 [#1] PREEMPT SMP NOPTI
CPU: 7 PID: 1781289 Comm: amqzlaa0 Kdump: loaded Tainted: P E ------- --- 5.14.0-503.14.1.el9_5.x86_64 #1
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 11/12/2020
RIP: 0010:srso_return_thunk+0x0/0x5f
Code: cc cc cc cc cc cc cc cc 48 b8 48 8d 64 24 08 c3 cc cc 0f ae e8 e8 f0 ff ff ff 0f 0b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 <e8> db ff ff ff 0f 0b 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f
RSP: 0000:fffffe56609d5000 EFLAGS: 00010097
RAX: fffffe56609d5008 RBX: 0000000000000000 RCX: ffffffffa7e01122
RDX: 0000000000000000 RSI: 0000000000000000 RDI: fffffe56609d50d8
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
FS: 00007f0ebca58640(0000) GS:ffff9fd8edfc0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: fffffe56609d4ff8 CR3: 00000002588b8000 CR4: 0000000000350ef0
Call Trace:
<#DF>
? srso_return_thunk+0x5/0x5f
? show_trace_log_lvl+0x26e/0x2df
? show_trace_log_lvl+0x26e/0x2df
? asm_exc_page_fault+0x9/0x30
? __die_body.cold+0x8/0xd
? die+0x2b/0x50
? handle_stack_overflow+0x49/0x60
? exc_double_fault+0x14b/0x180
? asm_exc_double_fault+0x1f/0x30
? restore_regs_and_return_to_kernel+0x22/0x22
? srso_safe_ret+0x20/0x20
</#DF>
WARNING: stack recursion on stack type 5
Modules linked in: ...
Environment
- Red Hat Enterprise Linux 9.5.z
- VMware hypervisor
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.