On 12/19/2016 10:37 AM, Borislav Petkov wrote: > On Mon, Dec 19, 2016 at 10:32:13AM -0500, Boris Ostrovsky wrote: >> When searching for microcode in the ramdisk image we need to adjust the >> start address after paging has been turned on (in 32-bit mode). > I need more info: > > * Is this fixing a real issue? > > * how do you reproduce this? > > * kernel version > > * .config > > * initrd you're using > > Thanks. Before you ask --- this is baremetal, from this morning's mainline. Your series from yesterday is not applied but I don't think it had a fix for this problem. config attached. I'll see how I can get you the initrd. Here is the splat. [ 1.865226] BUG: unable to handle kernel paging request at 1aae3000 [ 1.871484] IP: find_cpio_data+0x69/0x220 [ 1.875482] *pdpt = 0000000000000000 *pde = 0000000000000000 [ 1.875483] [ 1.882701] Oops: 0000 [#1] SMP [ 1.885834] Modules linked in: [ 1.888883] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.0upstream-11751-ge313a9b-dirty #3 [ 1.897215] Hardware name: MSI MS-7680/H61M-P23 (MS-7680), BIOS V17.0 03/14/2011 [ 1.904595] task: f2faf4c0 task.stack: f2fb0000 [ 1.909115] EIP: find_cpio_data+0x69/0x220 [ 1.913201] EFLAGS: 00210212 CPU: 0 [ 1.916682] EAX: 00000025 EBX: 1aae3000 ECX: 00000026 EDX: f2fb1e64 [ 1.922935] ESI: 054fbe4d EDI: 00000000 EBP: f2fb1e90 ESP: f2fb1e00 [ 1.929188] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 1.934574] CR0: 80050033 CR2: 1aae3000 CR3: 01b06000 CR4: 000406f0 [ 1.940827] Call Trace: [ 1.943268] ? kmemleak_alloc+0x3a/0x50 [ 1.947096] ? __d_instantiate+0x30/0xe0 [ 1.951011] find_microcode_in_initrd+0x5e/0x70 [ 1.955529] save_microcode_in_initrd_intel+0x28/0x5c [ 1.960569] ? debugfs_create_mode_unsafe+0x2e/0x80 [ 1.965435] ? debugfs_create_u64+0x2d/0x40 [ 1.969607] save_microcode_in_initrd+0x20/0x3c [ 1.974127] do_one_initcall+0x3c/0x160 [ 1.977955] ? centaur_init_mtrr+0x11/0x11 [ 1.982041] ? kernel_init_freeable+0x132/0x1ff [ 1.986562] ? parse_args+0x245/0x3a0 [ 1.990215] kernel_init_freeable+0x150/0x1ff [ 1.994562] ? kernel_init_freeable+0x1ff/0x1ff [ 1.999080] ? rest_init+0x70/0x70 [ 2.002474] kernel_init+0xb/0x100 [ 2.005867] ? schedule_tail_wrapper+0x9/0xc [ 2.010126] ret_from_fork+0x19/0x24 [ 2.013693] Code: c7 45 e8 00 00 00 00 c7 45 ec 00 00 00 00 66 c7 45 f0 00 00 e8 f9 e5 00 00 83 7d 08 6e 89 45 8c 76 28 8b 5d 94 8d 55 d4 89 55 84 <80> 3b 00 b8 06 00 00 00 8d 7d a0 75 62 83 6d 08 04 83 c3 04 83 [ 2.032443] EIP: find_cpio_data+0x69/0x220 SS:ESP: 0068:f2fb1e00 [ 2.038432] CR2: 000000001aae3000 [ 2.041738] ---[ end trace 36446d1f414ac27d ]--- [ 2.046343] Kernel panic - not syncing: Fatal exception [ 2.051559] ---[ end Kernel panic - not syncing: Fatal exception