<div dir="ltr">I recently went to refresh our iPXE code and hit a problem, we'd see the following kernel panic when we chain boot snponly.efi to elilo (long story) to centos7.5 kernel:<div><br></div><div><div>[    0.000567] invalid opcode: 0000 [#1] SMP</div><div>[    0.005161] Modules linked in:</div><div>[    0.008580] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.0-862.3.2.el7.x86_64 #1</div><div>[    0.017012] Hardware name: Lenovo THINKSYSTEM SD530 -[7X2104Z000]-/-[7X2104Z000]-, BIOS -[TEE123B-1.40]- 03/13/2018</div><div>[    0.028639] task: ffffffff90416480 ti: ffffffff90400000 task.ti: ffffffff90400000</div><div>[    0.036975] RIP: 0010:[<0000000000000008>]  [<0000000000000008>] 0x8</div><div>[    0.044070] RSP: 0000:ffffffff90403d48  EFLAGS: 00010046</div><div>[    0.049988] RAX: 00000000ab79af00 RBX: 0000000003111004 RCX: 00000000ab5f2bd0</div><div>[    0.057937] RDX: 0000000000000000 RSI: 00000000ab5c3300 RDI: 0000000000000001</div><div>[    0.065885] RBP: 00000000ae6d4304 R08: ffffffff90403d98 R09: 00000000ab5c3300</div><div>[    0.073834] R10: 0000000000000030 R11: 00000000ab5f3730 R12: 0000000000000000</div><div>[    0.081781] R13: ffff909f3fe32000 R14: 0000000000000246 R15: 000000012a80e000</div><div>[    0.089723] FS:  0000000000000000(0000) GS:ffff90a360c00000(0000) knlGS:0000000000000000</div><div>[    0.098736] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033</div><div>[    0.105135] CR2: ffff909e6ae2e000 CR3: 000000017fe30000 CR4: 00000000000606b0</div><div>[    0.113076] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000</div><div>[    0.121025] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400</div><div>[    0.128972] Call Trace:</div><div>[    0.131699]  [<ffffffff8f8693c5>] ? __raw_callee_save___native_queued_spin_unlock+0x15/0x30</div><div>[    0.141006]  [<ffffffff8f8689fe>] ? native_flush_tlb_global+0x8e/0xc0</div><div>[    0.148189]  [<ffffffff8f885f48>] ? efi_call+0x58/0x90</div><div>[    0.153921]  [<ffffffff8f8733e7>] ? kernel_map_pages_in_pgd+0xe7/0xf0</div><div>[    0.161099]  [<ffffffff9058fa8a>] ? efi_enter_virtual_mode+0x33c/0x4bf</div><div>[    0.168380]  [<ffffffff9056c13c>] ? start_kernel+0x3c1/0x467</div><div>[    0.174691]  [<ffffffff9056bb7b>] ? repair_env_string+0x5c/0x5c</div><div>[    0.181290]  [<ffffffff9056b120>] ? early_idt_handler_array+0x120/0x120</div><div>[    0.188663]  [<ffffffff9056b72f>] ? x86_64_start_reservations+0x24/0x26</div><div>[    0.196035]  [<ffffffff9056b885>] ? x86_64_start_kernel+0x154/0x177</div><div>[    0.203025]  [<ffffffff8f8000d5>] ? start_cpu+0x5/0x14</div><div>[    0.208751] Code:  Bad RIP value.</div><div>[    0.212480] RIP  [<0000000000000008>] 0x8</div><div>[    0.216962]  RSP <ffffffff90403d48></div><div>[    0.220856] ---[ end trace f68728a0d3053b52 ]---</div><div>[    0.226004] Kernel panic - not syncing: Fatal exception</div></div><div><br></div><div>I bisected it down to this commit:</div><div><a href="https://git.ipxe.org/mirror/build/ipxe.git/commit/c89a446cf09f30a121ae21d91f4a1aa071044084">https://git.ipxe.org/mirror/build/ipxe.git/commit/c89a446cf09f30a121ae21d91f4a1aa071044084</a><br></div><div><br></div><div>If I revert that commit, the kernel panic no longer occurs.</div><div><br></div></div>