On 02/27/2017 04:03 AM, kernel test robot wrote:
FYI, we noticed the following commit:
commit: 243b72aae28ca1032284028323bb81c9235b15c9 ("x86/mm/ptdump: Optimize check for
W+X mappings for CONFIG_KASAN=y")
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
...
caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
+-----------------------------------------------------+------------+------------+
| | 5b1ad68f9b | 243b72aae2 |
+-----------------------------------------------------+------------+------------+
| boot_successes | 0 | 0 |
| boot_failures | 8 | 6 |
| BUG:KASAN:slab-out-of-bounds | 8 | 6 |
| WARNING:at_arch/x86/mm/dump_pagetables.c:#note_page | 0 | 6 |
+-----------------------------------------------------+------------+------------+
Ok, I reproduced this, but it's definitely caused *not* by 243b72aae28.
This WARN is also reproducible on the parent commit 5b1ad68f9b.
The only difference here is that on parent one needs dozens of seconds to reach this
WARNING.
It seems that this time difference somehow confused the robot.
As for the warning itself, it caused by kprobes. krpobe code use module_alloc() which
creates these RWX mappings.
I'm not sure how to fix this as AFAIK kprobes actually need RWX mapping.
[ 25.592875] WARNING: CPU: 0 PID: 1 at arch/x86/mm/dump_pagetables.c:226
note_page+0x820/0xaf0
[ 25.592875] WARNING: CPU: 0 PID: 1 at arch/x86/mm/dump_pagetables.c:226
note_page+0x820/0xaf0
[ 25.597768] x86/mm: Found insecure W+X mapping at address
ffffffffa0000000/0xffffffffa0000000
[ 25.597768] x86/mm: Found insecure W+X mapping at address
ffffffffa0000000/0xffffffffa0000000
[ 25.601564] Modules linked in:
[ 25.601564] Modules linked in:
[ 25.603072] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B
4.10.0-rc8-00007-g243b72a #2
[ 25.603072] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G B
4.10.0-rc8-00007-g243b72a #2
[ 25.607397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.9.3-20161025_171302-gandalf 04/01/2014
[ 25.607397] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.9.3-20161025_171302-gandalf 04/01/2014
[ 25.611819] Call Trace:
[ 25.611819] Call Trace:
[ 25.612954] dump_stack+0x63/0x8d
[ 25.612954] dump_stack+0x63/0x8d
[ 25.614457] __warn+0x10d/0x130
[ 25.614457] __warn+0x10d/0x130
[ 25.615885] warn_slowpath_fmt+0x4a/0x50
[ 25.615885] warn_slowpath_fmt+0x4a/0x50
[ 25.617775] ? _raw_spin_unlock_irq+0x22/0x40
[ 25.617775] ? _raw_spin_unlock_irq+0x22/0x40
[ 25.619940] note_page+0x820/0xaf0
[ 25.619940] note_page+0x820/0xaf0
[ 25.621416] ptdump_walk_pgd_level_core+0x420/0x480
[ 25.621416] ptdump_walk_pgd_level_core+0x420/0x480
[ 25.623820] ? 0xffffffff81000000
[ 25.623820] ? 0xffffffff81000000
[ 25.625369] ptdump_walk_pgd_level_checkwx+0x12/0x20
[ 25.625369] ptdump_walk_pgd_level_checkwx+0x12/0x20
[ 25.627604] mark_rodata_ro+0x112/0x120
[ 25.627604] mark_rodata_ro+0x112/0x120
[ 25.629364] ? rest_init+0xe0/0xe0
[ 25.629364] ? rest_init+0xe0/0xe0
[ 25.630915] kernel_init+0x2a/0x120
[ 25.630915] kernel_init+0x2a/0x120
[ 25.632542] ? rest_init+0xe0/0xe0
[ 25.632542] ? rest_init+0xe0/0xe0
[ 25.634340] ret_from_fork+0x2c/0x40
[ 25.634340] ret_from_fork+0x2c/0x40
[ 25.635989] ---[ end trace 583b8aa56cec4492 ]---
To reproduce:
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/wfg/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this
email
Thanks,
Xiaolong