Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
git://git.infradead.org/users/willy/linux-dax.git kvmalloc
commit e378e489ccee5c7c13e1c82c2197eb2be1ff6ab4
Author: Matthew Wilcox <mawilcox(a)microsoft.com>
AuthorDate: Sun Jan 1 06:58:26 2017 -0500
Commit: Matthew Wilcox <mawilcox(a)microsoft.com>
CommitDate: Wed Jan 4 16:44:35 2017 -0500
vmalloc: Use kmalloc to satisfy small allocations
There are dozens of places in the kernel which have various different
rules to determine whether to call the faster kmalloc() or vmalloc(),
which is more likely to succeed for larger sizes. Some of these rules
are wrong and can cause the kernel to start killing tasks when memory
is heavily fragmented (see commit 96c7a2ff2150). Others are merely
inefficient and will cause vmalloc() to be used when kmalloc() would
have succeeded. Yet others work well on machines without HIGHMEM, but
will fail when ZONE_NORMAL is empty and ZONE_HIGHMEM has free pages.
This patch changes vfree() to be able to free pointers from either
vmalloc() or kmalloc() (like kvfree() does currently). vmalloc(),
vzalloc(), vmalloc_node() and vzalloc_node() are then changed to try
small allocations from kmalloc() first.
Signed-off-by: Matthew Wilcox <mawilcox(a)microsoft.com>
+-----------------------------------------------------+------------+------------+------------+
| | ad35b24620 | e378e489cc |
d03e4c79d1 |
+-----------------------------------------------------+------------+------------+------------+
| boot_successes | 122 | 0 | 0
|
| boot_failures | 29 | 26 | 13
|
| BUG:kernel_reboot-without-warning_in_test_stage | 29 | |
|
| WARNING:at_mm/vmalloc.c:#__vunmap | 0 | 26 | 13
|
| BUG_kmalloc-#(Tainted:G_W):Poison_overwritten | 0 | 26 | 13
|
| INFO:#-#.First_byte#instead_of | 0 | 26 | 13
|
| INFO:Allocated_in_alloc_bucket_locks_age=#cpu=#pid= | 0 | 26 |
|
| INFO:Freed_in_vfree_age=#cpu=#pid= | 0 | 26 | 13
|
| INFO:Slab#objects=#used=#fp=0x(null)flags= | 0 | 26 | 13
|
| INFO:Object#@offset=#fp= | 0 | 26 | 13
|
| BUG_kmalloc-#(Tainted:G_B_D_W):Poison_overwritten | 0 | 12 |
|
| INFO:Allocated_in_bucket_table_alloc_age=#cpu=#pid= | 0 | 26 |
|
| Kernel_panic-not_syncing:Fatal_exception | 0 | 26 | 13
|
| BUG_kmalloc-#(Tainted:G_B_W):Poison_overwritten | 0 | 14 | 13
|
| INFO:Allocated_in_kvmalloc_node_age=#cpu=#pid= | 0 | 0 | 13
|
+-----------------------------------------------------+------------+------------+------------+
[ 0.000000] Memory: 262016K/327160K available (8829K kernel code, 3300K rwdata, 4872K
rodata, 932K init, 34816K bss, 65144K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: CPU: 0 PID: 0 at mm/vmalloc.c:1469 __vunmap+0x59/0xae
[ 0.000000] Trying to vfree() bad address (ffff88001280c008)
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.10.0-rc2-00018-ge378e48 #1
[ 0.000000] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.9.3-20161025_171302-gandalf 04/01/2014
[ 0.000000] Call Trace:
[ 0.000000] dump_stack+0x19/0x1b
[ 0.000000] __warn+0xb1/0xcc
[ 0.000000] warn_slowpath_fmt+0x46/0x4e
git bisect start d03e4c79d145452b8b7a8b1e9b634758edad15c5
0c744ea4f77d72b3dcebb7a8f2684633ec79be88 --
git bisect bad 4c6d8bbc28aab09f6723688736a463eeff7447f7 # 10:06 0- 3 Merge
'slave-dma/topic/zx' into devel-catchup-201701050709
git bisect good 4d8398a57c8f2216bbf9cee99f3d4cbaebf53fc1 # 10:29 21+ 4 Merge
'char-misc/char-misc-linus' into devel-catchup-201701050709
git bisect good 0d1aeb748f4a28e74a643836b821c6085e4d3ceb # 11:16 20+ 5 Merge
'lwn/docs-next' into devel-catchup-201701050709
git bisect bad 3fa8e42e4279908a653c1211e7f4c6a11bf110b2 # 11:16 0- 2 Merge
'power-supply/psy-mfd-axp288-immutable' into devel-catchup-201701050709
git bisect bad 00eaa8081aa47a3863ec689e5fec2474b3aa8338 # 11:16 0- 2 Merge
'dax/kvmalloc' into devel-catchup-201701050709
git bisect bad 0a94605622aa50559d76371f4885d48103de0da8 # 11:29 0- 3 ntfs:
Simplify memory allocation wrappers
git bisect bad 75c090a03cfb04634934831db8ea5b20d664d45e # 11:38 0- 2 mm: Add
vmalloc_noio and vzalloc_noio
git bisect good 143fca77cce906d35f7a60ccef648e888df589f2 # 11:52 22+ 6 HID:
sensor-hub: Move the memset to sensor_hub_get_feature()
git bisect good da2875673660c114dc7d65edcd1f97023d0ed624 # 11:57 21+ 9 Merge
branch 'for-linus' of
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
git bisect good c8b4ec8351d21da3299b045b37920e5cf5590793 # 12:10 20+ 2 Merge
tag 'fscrypt-for-stable' of
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt
git bisect bad e378e489ccee5c7c13e1c82c2197eb2be1ff6ab4 # 12:10 0- 26 vmalloc:
Use kmalloc to satisfy small allocations
git bisect good ad35b246207c805feab74b24a00228449beea728 # 12:10 29+ 0 mm:
Document GFP_TEMPORARY
# first bad commit: [e378e489ccee5c7c13e1c82c2197eb2be1ff6ab4] vmalloc: Use kmalloc to
satisfy small allocations
git bisect good ad35b246207c805feab74b24a00228449beea728 # 12:21 63+ 10 mm:
Document GFP_TEMPORARY
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad e378e489ccee5c7c13e1c82c2197eb2be1ff6ab4 # 12:21 0- 22 vmalloc:
Use kmalloc to satisfy small allocations
# extra tests on HEAD of linux-devel/devel-catchup-201701050709
git bisect bad d03e4c79d145452b8b7a8b1e9b634758edad15c5 # 12:21 0- 13 0day
head guard for 'devel-catchup-201701050709'
# extra tests on tree/branch dax/kvmalloc
git bisect bad 05eab1a84f442d912acde4e3e2882228db671185 # 12:25 0- 28 Remove
kvfree
# extra tests on tree/branch linus/master
git bisect good e02003b515e8d95f40f20f213622bb82510873d2 # 13:47 61+ 12 Merge
tag 'xfs-for-linus-4.10-rc3' of
git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
# extra tests on tree/branch linux-next/master
git bisect good ed93c117c1c69f1feec5c2679be525076606ae71 # 14:26 60+ 10 Add
linux-next specific files for 20170105
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation