Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://github.com/0day-ci/linux Borislav-Petkov/x86-Optimize-clear_page/20170210-053052
commit 0ad07c8104eb5c12dfcb86581c1cc657183496cc
Author: Borislav Petkov <bp(a)suse.de>
AuthorDate: Thu Feb 9 20:51:25 2017 +0100
Commit: 0day robot <fengguang.wu(a)intel.com>
CommitDate: Fri Feb 10 05:30:58 2017 +0800
x86: Optimize clear_page()
Currently, we CALL clear_page() which then JMPs to the proper function
chosen by the alternatives.
What we should do instead is CALL the proper function directly. (This
was something Ingo suggested a while ago). So let's do that.
Measuring our favourite kernel build workload shows that there are no
significant changes in performance.
...
Signed-off-by: Borislav Petkov <bp(a)suse.de>
+------------------------------------------+------------+------------+------------+
| | 10b9dd5686 | 0ad07c8104 | 648de4be23 |
+------------------------------------------+------------+------------+------------+
| boot_successes | 66 | 0 | 0 |
| boot_failures | 0 | 26 | 17 |
| BUG:unable_to_handle_kernel | 0 | 26 | 17 |
| Oops | 0 | 26 | 17 |
| RIP:prep_new_page | 0 | 26 | |
| calltrace:netlink_proto_init | 0 | 26 | |
| Kernel_panic-not_syncing:Fatal_exception | 0 | 26 | 17 |
+------------------------------------------+------------+------------+------------+
[ 0.665715] xor: using function: prefetch64-sse (14670.000 MB/sec)
[ 0.667274] prandom: seed boundary self test passed
[ 0.669099] prandom: 100 self tests passed
[ 0.673854] BUG: unable to handle kernel NULL pointer dereference at 0000000000000040
[ 0.675772] IP: [<ffffffff8115be9a>] prep_new_page+0x14a/0x270
[ 0.681170] PGD 0
[ 0.681639]
[ 0.682043] Oops: 0000 [#1] PREEMPT
[ 0.682875] CPU: 0 PID: 1 Comm: swapper Not tainted 4.9.0-rc6-00134-g0ad07c8 #1
[ 0.684716] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.9.3-20161025_171302-gandalf 04/01/2014
[ 0.690535] task: ffff8800000636c0 task.stack: ffffc90000008000
[ 0.691962] RIP: 0010:[<ffffffff8115be9a>] [<ffffffff8115be9a>]
prep_new_page+0x14a/0x270
[ 0.697990] RSP: 0000:ffffc9000000b9b8 EFLAGS: 00010202
[ 0.699265] RAX: 0000000000000040 RBX: 0000000000000004 RCX: 0000000000000001
[ 0.701046] RDX: ffff8800000636c0 RSI: 0000000000000000 RDI: ffff880000161000
[ 0.706074] RBP: ffffc9000000ba58 R08: ffff8800000636c0 R09: ffff880000000000
[ 0.707771] R10: ffff88001ffd0000 R11: 0000000000000000 R12: ffff88001d921800
[ 0.713599] R13: 0000000000000002 R14: 000000000240c0c0 R15: 0000000000000001
[ 0.715285] FS: 0000000000000000(0000) GS:ffffffff82034000(0000)
knlGS:0000000000000000
[ 0.717232] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 0.718611] CR2: 0000000000000040 CR3: 0000000002010000 CR4: 00000000000006b0
[ 0.720361] Stack:
[ 0.720908] ffffffff82138d80 0000000000000000 ffffc9000000ba38 0000000000000206
[ 0.722748] ffff88001d921800 ffffffff00000000 dead000000000100 0000000000000206
[ 0.724654] ffff880000000000 0000000000000046 0000000000000001 ffffffff82138d80
[ 0.726502] Call Trace:
[ 0.727118] [<ffffffff8115c3f5>] get_page_from_freelist+0x435/0x7f0
[ 0.728744] [<ffffffff81033e6c>] ? T.555+0x5c/0x70
[ 0.729944] [<ffffffff81033e6c>] ? T.555+0x5c/0x70
[ 0.731105] [<ffffffff81882085>] ? ret_from_fork+0x25/0x30
[ 0.732450] [<ffffffff81033eb6>] ? unwind_next_frame+0x36/0x50
[ 0.733880] [<ffffffff81024204>] ? __save_stack_trace+0x84/0x150
[ 0.735328] [<ffffffff8115ca35>] __alloc_pages_nodemask+0x1a5/0xd50
[ 0.736933] [<ffffffff81024375>] ? save_stack_trace+0x15/0x20
[ 0.738322] [<ffffffff810edb6d>] ? __lock_acquire+0x2fd/0x4b0
[ 0.739733] [<ffffffff8187d529>] ? mutex_unlock+0x9/0x10
[ 0.741075] [<ffffffff8187d3db>] ? __mutex_unlock_slowpath+0xdb/0x180
[ 0.742632] [<ffffffff811776ac>] kmalloc_order+0x1c/0x70
[ 0.743940] [<ffffffff82191c4a>] netlink_proto_init+0x39/0x18a
[ 0.745356] [<ffffffff811e9644>] ? kern_mount_data+0x14/0x30
[ 0.746754] [<ffffffff82191c11>] ? netlink_net_init+0x2e/0x2e
[ 0.748139] [<ffffffff821469af>] do_one_initcall+0x86/0x11f
[ 0.749542] [<ffffffff82146be2>] do_basic_setup+0xa8/0xcb
[ 0.753869] [<ffffffff82146d84>] ? kernel_init_freeable+0x17f/0x17f
[ 0.755410] [<ffffffff82146d04>] kernel_init_freeable+0xff/0x17f
[ 0.756899] [<ffffffff818762c9>] ? kernel_init+0x9/0x100
[ 0.758189] [<ffffffff818762c0>] ? rest_init+0xc0/0xc0
[ 0.759447] [<ffffffff818762c0>] ? rest_init+0xc0/0xc0
[ 0.760732] [<ffffffff818762c9>] kernel_init+0x9/0x100
[ 0.761949] [<ffffffff81882085>] ret_from_fork+0x25/0x30
[ 0.763272] Code: db 7e be 4c 8b 04 25 00 30 03 82 4c 89 e0 31 c9 49 b9 00 00 00 00 00
88 ff ff 4c 89 c2 ff 05 82 71 ed 00 41 83 80 e8 0e 00 00 01 <48> 8b 30 48 c1 ee 2d
48 89 f7 48 c1 ef 07 4c 8b 14 fd a0 d3 c1
[ 0.769249] RIP [<ffffffff8115be9a>] prep_new_page+0x14a/0x270
[ 0.770683] RSP <ffffc9000000b9b8>
[ 0.771527] CR2: 0000000000000040
[ 0.772317] ---[ end trace e69a76b01b566199 ]---
[ 0.773471] Kernel panic - not syncing: Fatal exception
git bisect start 648de4be2364cf3a02404e043d76926e43e561e8
d5adbfcd5f7bcc6fa58a41c5c5ada0e5c826ce2c --
git bisect good f08b53c27c5d6c8b83792ed94a8e9694ef9f3b67 # 01:13 21+ 0 Merge
'linux-review/Thomas-Garnier/syscalls-Restore-address-limit-after-a-syscall/20170210-065105'
into devel-spot-201702101332
git bisect bad 09edec8d0905916acd6206dc0411d1da27f203d9 # 01:28 0- 4 Merge
'bp/for-next' into devel-spot-201702101332
git bisect bad 013fb7dbee2050def11e2180abcb6958d0a5867c # 01:35 0- 2 Merge
'robh/of-graph-helpers' into devel-spot-201702101332
git bisect good 9c7fb1ac8023b3c30daca6890b85605d924da1ad # 01:46 21+ 0 Merge
'linux-review/Colin-King/Smack-fix-a-dereference-before-null-check-on-sock-sk/20170210-055729'
into devel-spot-201702101332
git bisect bad 6ef54f0002c76068d65d01a3b51ce07b6f347235 # 01:58 0- 3 Merge
'linux-review/Borislav-Petkov/x86-Optimize-clear_page/20170210-053052' into
devel-spot-201702101332
git bisect good 11dfb62ce4afb2111de9cfa25b8566a093c40975 # 02:08 21+ 1 Merge
'linux-review/Ben-Gardner/eeprom-at24-use-device_property_-functions-instead-of-of_get_property/20170210-060909'
into devel-spot-201702101332
git bisect good 79a6fed9048002031fa4f9050e2ceabc0f746ae6 # 02:40 22+ 0 Merge
'linux-review/Avraham-Shukron/staging-omap4iss-fix-multiline-comment-style/20170210-050947'
into devel-spot-201702101332
git bisect bad 0ad07c8104eb5c12dfcb86581c1cc657183496cc # 03:00 0- 3 x86:
Optimize clear_page()
# first bad commit: [0ad07c8104eb5c12dfcb86581c1cc657183496cc] x86: Optimize clear_page()
git bisect good 10b9dd56860e93f11cd352e8c75a33357b80b70b # 03:17 66+ 0 Merge
tag 'nfs-for-4.9-4' of
git://git.linux-nfs.org/projects/anna/linux-nfs
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 0ad07c8104eb5c12dfcb86581c1cc657183496cc # 03:31 0- 14 x86:
Optimize clear_page()
# extra tests on HEAD of linux-devel/devel-spot-201702101332
git bisect bad 648de4be2364cf3a02404e043d76926e43e561e8 # 03:31 0- 17 0day
head guard for 'devel-spot-201702101332'
# extra tests on tree/branch
linux-review/Borislav-Petkov/x86-Optimize-clear_page/20170210-053052
git bisect bad 0ad07c8104eb5c12dfcb86581c1cc657183496cc # 03:38 0- 26 x86:
Optimize clear_page()
# extra tests with first bad commit reverted
git bisect good d9d04c9a587a9963e6df6b6b6622cd0eaa0a6d2a # 03:56 61+ 0 Revert
"x86: Optimize clear_page()"
# extra tests on tree/branch linus/master
git bisect good 2fe1e8a7b2f4dcac3fcb07ff06b0ae7396201fd6 # 04:09 65+ 0 Merge
tag 'powerpc-4.10-5' of
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux
# extra tests on tree/branch linux-next/master
git bisect good 4ce4a759a3e221b5265ebd03c2f8888b69a7cf3e # 04:41 61+ 0 Add
linux-next specific files for 20170217
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation