RHEL7: 内核在 leave_mm ()中崩溃,并显示 "kernel BUG at arch/x86/mm/tlb.c:48!"
Issue
- 内核在 leave_mm ()中崩溃,并显示消息"kernel BUG at arch/x86/mm/tlb.c:48!"
PANIC: "kernel BUG at arch/x86/mm/tlb.c:48!"
- vmcore 回溯因异常而崩溃
[exception RIP: leave_mm+266]
- 如果我们看到十六进制的偏移量,则异常 RIP 是:
[exception RIP: leave_mm+0x10a]
- 如果我们在内核环缓冲区中记录的 panic 消息中看到异常 RIP (vmcore-dmesg.txt):
[5632627.689473] ------------[ cut here ]------------
[5632627.689635] kernel BUG at arch/x86/mm/tlb.c:48!
[5632627.689788] invalid opcode: 0000 [#1] SMP
...
[5632627.690146] CPU: 2 PID: 9159 Comm: kworker/u16:1 Kdump: loaded Tainted: P OE ------------ 3.10.0-1160.2.2.el7.x86_64 #1
[5632627.690177] Hardware name: HPE ProLiant DL360 Gen10/ProLiant DL360 Gen10, BIOS U32 06/20/2018
[5632627.690206] Workqueue: writeback bdi_writeback_workfn (flush-253:2)
[5632627.690225] task: ffff9108816e0000 ti: ffff910b47f0c000 task.ti: ffff910b47f0c000
[5632627.690246] RIP: 0010:[<ffffffffbbe7e68a>] [<ffffffffbbe7e68a>] leave_mm+0x10a/0x120 <<---- 0x10a is 266 in decimal
[5632627.690271] RSP: 0018:ffff910b47f0f890 EFLAGS: 00010246
[5632627.690286] RAX: 0000000000000001 RBX: ffff910a79211f40 RCX: 80000000625a4867
[5632627.690306] RDX: ffff910a79211f40 RSI: 00007fc4e324b000 RDI: 0000000000000002
[5632627.690325] RBP: ffff910b47f0f8b8 R08: 00000000000625a4 R09: 000000027d554000
[5632627.690344] R10: 0000000000000c00 R11: 0000000000000000 R12: 00007fc4e324b000
[5632627.690364] R13: 00007fc4e324b000 R14: ffff910a79211f40 R15: ffff910a4b1edd88
[5632627.690383] FS: 0000000000000000(0000) GS:ffff910bbfa80000(0000) knlGS:0000000000000000
[5632627.690405] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[5632627.690421] CR2: 00007faf4c000000 CR3: 00000002f9182000 CR4: 00000000007607e0
[5632627.690440] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[5632627.690459] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[5632627.690479] PKRU: 00000000
[5632627.690487] Call Trace:
[5632627.690500] [<ffffffffbbe7ea3c>] flush_tlb_page+0x8c/0xa0
[5632627.690519] [<ffffffffbc007728>] ptep_clear_flush+0x68/0xa0
[5632627.690537] [<ffffffffbc000cd6>] page_mkclean_one+0xa6/0xe0
[5632627.690554] [<ffffffffbc002ae3>] rmap_walk+0xf3/0x360
[5632627.690569] [<ffffffffbc002ef6>] page_mkclean+0x76/0xb0
[5632627.690585] [<ffffffffbc000c30>] ? page_referenced_one+0x1b0/0x1b0
[5632627.690603] [<ffffffffbc000310>] ? percpu_flush_tlb_batch_pages+0x20/0x20
[5632627.690624] [<ffffffffbbfc9af0>] clear_page_dirty_for_io+0x50/0xd0
[5632627.690642] [<ffffffffbbfc9d62>] write_cache_pages+0x1f2/0x470
[5632627.690686] [<ffffffffc09a1290>] ? xfs_vm_writepages+0xa0/0xa0 [xfs]
[5632627.690707] [<ffffffffbc155410>] ? submit_bio+0x70/0x150
[5632627.690735] [<ffffffffc09a125b>] xfs_vm_writepages+0x6b/0xa0 [xfs]
[5632627.690754] [<ffffffffbbfcade1>] do_writepages+0x21/0x50
[5632627.690771] [<ffffffffbc07d6f0>] __writeback_single_inode+0x40/0x260
[5632627.690791] [<ffffffffbbec6cd5>] ? wake_up_bit+0x25/0x30
[5632627.690807] [<ffffffffbc07e274>] writeback_sb_inodes+0x1c4/0x430
[5632627.690826] [<ffffffffbc07e57f>] __writeback_inodes_wb+0x9f/0xd0
[5632627.690844] [<ffffffffbc07ea53>] wb_writeback+0x263/0x2f0
[5632627.690861] [<ffffffffbc07f64b>] bdi_writeback_workfn+0x2cb/0x460
[5632627.690880] [<ffffffffbbebdc4f>] process_one_work+0x17f/0x440
[5632627.690898] [<ffffffffbbebed66>] worker_thread+0x126/0x3c0
[5632627.691717] [<ffffffffbbebec40>] ? manage_workers.isra.26+0x2a0/0x2a0
[5632627.692553] [<ffffffffbbec5c21>] kthread+0xd1/0xe0
[5632627.693374] [<ffffffffbbec5b50>] ? insert_kthread_work+0x40/0x40
[5632627.694197] [<ffffffffbc593ddd>] ret_from_fork_nospec_begin+0x7/0x21
[5632627.695017] [<ffffffffbbec5b50>] ? insert_kthread_work+0x40/0x40
[5632627.695824] Code: 00 48 c7 04 24 01 00 00 00 48 c7 44 24 08 00 00 00 00 48 89 e1 b8 01 00 00 00 66 0f 38 82 01 0f 22 df 0f 1f 40 00 e9 3f ff ff ff <0f> 0b e8 ef c8 01 00 0f 1f 44 00 00 66 2e 0f 1f 84 00 00 00 00
[5632627.697612] RIP [<ffffffffbbe7e68a>] leave_mm+0x10a/0x120
[5632627.698483] RSP <ffff910b47f0f890>
Environment
- Red Hat Enterprise Linux 7.8
- kernel-3.10.0-1127.el7 及更新版本
- Red Hat Enterprise Linux 7.9
- 3.10.0-1160.el7 和 3.10.0-1160.31.1.el7 之间的内核版本
- kernel-3.10.0-1160.el7 受到此问题的影响,3.10.0-1160.31.1.el7 包括修复
- UEFI
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.