Greetings, 0day kernel testing robot got the below dmesg and the first bad commit is https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit e181ae0c5db9544de9c53239eb22bc012ce75033 Author: Pavel Tatashin AuthorDate: Sat Jul 14 09:15:07 2018 -0400 Commit: Linus Torvalds CommitDate: Sat Jul 14 11:02:20 2018 -0700 mm: zero unavailable pages before memmap init We must zero struct pages for memory that is not backed by physical memory, or kernel does not have access to. Recently, there was a change which zeroed all memmap for all holes in e820. Unfortunately, it introduced a bug that is discussed here: https://www.spinics.net/lists/linux-mm/msg156764.html Linus, also saw this bug on his machine, and confirmed that reverting commit 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into memblock.reserved") fixes the issue. The problem is that we incorrectly zero some struct pages after they were setup. The fix is to zero unavailable struct pages prior to initializing of struct pages. A more detailed fix should come later that would avoid double zeroing cases: one in __init_single_page(), the other one in zero_resv_unavail(). Fixes: 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into memblock.reserved") Signed-off-by: Pavel Tatashin Signed-off-by: Linus Torvalds 2db39a2f49 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux e181ae0c5d mm: zero unavailable pages before memmap init 28c20cc73b Merge tag 'drm-fixes-2018-07-20' of git://anongit.freedesktop.org/drm/drm 89cf553533 Add linux-next specific files for 20180720 +------------------------------------------------------------------+------------+------------+------------+---------------+ | | 2db39a2f49 | e181ae0c5d | 28c20cc73b | next-20180720 | +------------------------------------------------------------------+------------+------------+------------+---------------+ | boot_successes | 77 | 0 | 24 | 59 | | boot_failures | 0 | 13 | 0 | 12 | | BUG:unable_to_handle_kernel | 0 | 13 | | | | Oops:#[##] | 0 | 13 | | | | EIP:zero_resv_unavail | 0 | 13 | | | | Kernel_panic-not_syncing:Fatal_exception | 0 | 13 | | | | Kernel_panic-not_syncing:Fatal_exception] | 0 | 13 | | | | invoked_oom-killer:gfp_mask=0x | 0 | 0 | 0 | 10 | | Mem-Info | 0 | 0 | 0 | 11 | | Kernel_panic-not_syncing:Out_of_memory_and_no_killable_processes | 0 | 0 | 0 | 9 | | BUG:soft_lockup-CPU##stuck_for#s | 0 | 0 | 0 | 1 | | EIP:_raw_spin_unlock_irqrestore | 0 | 0 | 0 | 1 | | Kernel_panic-not_syncing:softlockup:hung_tasks | 0 | 0 | 0 | 1 | | Out_of_memory:Kill_process | 0 | 0 | 0 | 3 | +------------------------------------------------------------------+------------+------------+------------+---------------+ [ 0.000000] Normal [mem 0x0000000001000000-0x000000000ffd1fff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff] [ 0.000000] node 0: [mem 0x0000000000100000-0x000000000ffd1fff] [ 0.000000] BUG: unable to handle kernel NULL pointer dereference at 00000000 [ 0.000000] *pde = 00000000 [ 0.000000] Oops: 0002 [#1] [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.18.0-rc4-00148-ge181ae0 #2 [ 0.000000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 0.000000] EIP: zero_resv_unavail+0x92/0xed [ 0.000000] Code: 00 00 c1 e9 0c 39 ca 73 2e 89 d1 81 e1 00 fc ff ff 3b 0d c8 29 25 82 73 18 8b 3d c4 29 25 82 b9 09 00 00 00 01 df 83 04 24 01 ab 83 54 24 04 00 42 83 c3 24 eb c1 6a 00 56 31 c9 55 68 48 9a [ 0.000000] EAX: 00000000 EBX: 00000000 ECX: 00000009 EDX: 00000000 [ 0.000000] ESI: 819c5ee8 EDI: 00000000 EBP: 819c5ee4 ESP: 819c5edc [ 0.000000] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00210002 [ 0.000000] CR0: 80050033 CR2: 00000000 CR3: 01c1b000 CR4: 00040690 [ 0.000000] Call Trace: [ 0.000000] ? free_area_init_nodes+0x410/0x448 [ 0.000000] ? zone_sizes_init+0x2f/0x34 [ 0.000000] ? setup_arch+0x944/0xa01 [ 0.000000] ? start_kernel+0x4d/0x3e1 [ 0.000000] ? idt_setup_early_handler+0x3b/0x3e [ 0.000000] ? startup_32_smp+0x15f/0x164 [ 0.000000] Modules linked in: [ 0.000000] CR2: 0000000000000000 [ 0.000000] random: get_random_bytes called from init_oops_id+0x20/0x36 with crng_init=0 [ 0.000000] ---[ end trace af54939225c29dcf ]--- [ 0.000000] EIP: zero_resv_unavail+0x92/0xed # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD git bisect start 37b5dca2898d1471729194f45e281c2443eb9d6c v4.17 -- git bisect good 2837461dbe6f4a9acc0d86f88825888109211c99 # 22:45 G 10 0 0 0 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi git bisect good 5e4e8c55c9fca8c5e06befc16d56800773fb3128 # 22:52 G 11 0 0 0 Merge tag 'pm-4.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm git bisect good 43b6b6eca863cf2f83dc062484963377c66a72be # 23:00 G 11 0 0 1 Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux git bisect good 1dc85ac274d1e42f7c24d50b186d748a61f02188 # 23:08 G 10 0 0 0 Merge tag 'staging-4.18-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging git bisect good 2a7e1211e130c51a2b5743ecf247645ac8e936ee # 23:11 G 10 0 0 0 Merge tag 'vfio-v4.18-rc5' of git://github.com/awilliam/linux-vfio git bisect good 3951dbf232e8500bef27f77437fd5d04b67cc6d1 # 23:16 G 11 0 0 0 Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip git bisect bad f353078f028fbfe9acd4b747b4a19c69ef6846cd # 23:16 B 0 24 62 0 Merge branch 'akpm' (patches from Andrew) git bisect good 2db39a2f491a48ec740e0214a7dd584eefc2137d # 23:19 G 11 0 0 0 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux git bisect bad e181ae0c5db9544de9c53239eb22bc012ce75033 # 23:19 B 0 13 28 0 mm: zero unavailable pages before memmap init # first bad commit: [e181ae0c5db9544de9c53239eb22bc012ce75033] mm: zero unavailable pages before memmap init git bisect good 2db39a2f491a48ec740e0214a7dd584eefc2137d # 23:28 G 31 0 0 0 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux # extra tests on HEAD of tip/x86/pti git bisect bad 97193702c6d353e12aefc0fb2f73a98ca421cd56 # 23:28 B 0 15 35 0 x86/entry/32: Add debug code to check entry/exit CR3 # extra tests on tree/branch linus/master git bisect good 28c20cc73b9cc4288c86c2a3fc62af4087de4b19 # 23:31 G 11 0 0 0 Merge tag 'drm-fixes-2018-07-20' of git://anongit.freedesktop.org/drm/drm # extra tests with first bad commit reverted git bisect good e5ab05b8a7bb786e87ae30b65b4922a63368cbd2 # 02:29 G 10 0 0 1 Revert "mm: zero unavailable pages before memmap init" # extra tests on tree/branch linux-next/master git bisect good 89cf553533084a35b44f533d59198497d3319d69 # 02:37 G 10 0 0 12 Add linux-next specific files for 20180720 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/lkp Intel Corporation