FYI, we noticed the following commit (built with gcc-5): commit: 48483614de97c4f5219abeda630e62b2bebdce62 ("XArray: Fix xa_alloc when id exceeds max") https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master in testcase: boot on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 4G caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): +-----------------------------------------------------------------+------------+------------+ | | 4f145cd66a | 48483614de | +-----------------------------------------------------------------+------------+------------+ | boot_successes | 4 | 0 | | boot_failures | 0 | 4 | | Mem-Info | 0 | 4 | | WARNING:suspicious_RCU_usage | 0 | 4 | | include/linux/xarray.h:#suspicious_rcu_dereference_check()usage | 0 | 4 | +-----------------------------------------------------------------+------------+------------+ [ 7.723763] test_overflow: kmalloc_node detected saturation [ 7.724760] test_overflow: kzalloc detected saturation [ 7.725677] test_overflow: kzalloc_node detected saturation [ 7.726755] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6000c0(GFP_KERNEL), nodemask=(null) [ 7.728636] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.729895] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.731332] Call Trace: [ 7.731771] warn_alloc+0xac/0x129 [ 7.732373] __vmalloc_node_range+0x1c9/0x1d7 [ 7.733125] __vmalloc_node+0x2a/0x2f [ 7.733773] ? test_module_init+0x15af/0x1d0a [ 7.734542] __vmalloc_node_flags_caller+0x30/0x31 [ 7.735373] test_module_init+0x15af/0x1d0a [ 7.736097] ? preempt_latency_stop+0x20/0x3c [ 7.736913] ? preempt_count_sub+0x13/0x1c [ 7.737633] ? wake_up_klogd+0x3b/0x4b [ 7.738300] ? vprintk_emit+0x27f/0x291 [ 7.738976] ? test_hexdump_init+0xb5/0xb5 [ 7.739698] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.740595] do_one_initcall+0x91/0x203 [ 7.741266] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.742095] ? trace_initcall_level+0x35/0x8b [ 7.742862] kernel_init_freeable+0x13b/0x1bf [ 7.743627] ? rest_init+0x9e/0x9e [ 7.744222] kernel_init+0xa/0xf5 [ 7.744816] ret_from_fork+0x24/0x30 [ 7.745485] Mem-Info: [ 7.745901] active_anon:0 inactive_anon:0 isolated_anon:0 [ 7.745901] active_file:0 inactive_file:0 isolated_file:0 [ 7.745901] unevictable:120680 dirty:0 writeback:0 unstable:0 [ 7.745901] slab_reclaimable:8196 slab_unreclaimable:1250 [ 7.745901] mapped:0 shmem:0 pagetables:0 bounce:0 [ 7.745901] free:868201 free_pcp:461 free_cma:0 [ 7.751260] Node 0 active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:482720kB isolated(anon):0kB isolated(file):0kB mapped:0kB dirty:0kB writeback:0kB shmem:0kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 0kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no [ 7.755670] DMA32 free:3022768kB min:67152kB low:83940kB high:100728kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3145152kB managed:3024208kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:1440kB local_pcp:1440kB free_cma:0kB [ 7.760304] lowmem_reserve[]: 0 961 961 [ 7.760986] Normal free:450036kB min:22956kB low:28692kB high:34428kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:482720kB writepending:0kB present:1048576kB managed:984544kB mlocked:0kB kernel_stack:736kB pagetables:0kB bounce:0kB free_pcp:404kB local_pcp:404kB free_cma:0kB [ 7.765644] lowmem_reserve[]: 0 0 0 [ 7.766263] DMA32: 2*4kB (UM) 1*8kB (M) 0*16kB 3*32kB (UM) 5*64kB (UM) 2*128kB (UM) 3*256kB (UM) 3*512kB (M) 3*1024kB (UM) 3*2048kB (UM) 735*4096kB (M) = 3022768kB [ 7.768781] Normal: 3*4kB (UM) 5*8kB (UME) 2*16kB (UM) 1*32kB (U) 2*64kB (UM) 26*128kB (UM) 52*256kB (UME) 6*512kB (UME) 4*1024kB (UME) 2*2048kB (ME) 103*4096kB (M) = 450036kB [ 7.771519] 120693 total pagecache pages [ 7.772240] 1048432 pages RAM [ 7.772772] 0 pages HighMem/MovableOnly [ 7.773451] 46244 pages reserved [ 7.774018] test_overflow: kvmalloc detected saturation [ 7.774950] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6000c0(GFP_KERNEL), nodemask=(null) [ 7.776855] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.778131] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.779555] Call Trace: [ 7.779994] warn_alloc+0xac/0x129 [ 7.780597] __vmalloc_node_range+0x1c9/0x1d7 [ 7.781357] __vmalloc_node+0x2a/0x2f [ 7.781997] ? test_module_init+0x168b/0x1d0a [ 7.782769] __vmalloc_node_flags_caller+0x30/0x31 [ 7.783601] test_module_init+0x168b/0x1d0a [ 7.784335] ? preempt_latency_stop+0x20/0x3c [ 7.785089] ? preempt_count_sub+0x13/0x1c [ 7.785809] ? wake_up_klogd+0x3b/0x4b [ 7.786510] ? vprintk_emit+0x27f/0x291 [ 7.787187] ? test_hexdump_init+0xb5/0xb5 [ 7.787912] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.788816] do_one_initcall+0x91/0x203 [ 7.789497] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.790334] ? trace_initcall_level+0x35/0x8b [ 7.791097] kernel_init_freeable+0x13b/0x1bf [ 7.791869] ? rest_init+0x9e/0x9e [ 7.792475] kernel_init+0xa/0xf5 [ 7.793061] ret_from_fork+0x24/0x30 [ 7.793692] test_overflow: kvmalloc_node detected saturation [ 7.794711] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) [ 7.796773] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.798045] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.799478] Call Trace: [ 7.799918] warn_alloc+0xac/0x129 [ 7.800537] __vmalloc_node_range+0x1c9/0x1d7 [ 7.801371] __vmalloc_node+0x2a/0x2f [ 7.802038] ? test_module_init+0x1755/0x1d0a [ 7.802803] __vmalloc_node_flags_caller+0x30/0x31 [ 7.803638] test_module_init+0x1755/0x1d0a [ 7.804375] ? preempt_latency_stop+0x20/0x3c [ 7.805130] ? preempt_count_sub+0x13/0x1c [ 7.805848] ? wake_up_klogd+0x3b/0x4b [ 7.806568] ? vprintk_emit+0x27f/0x291 [ 7.807241] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.808134] do_one_initcall+0x91/0x203 [ 7.808807] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.809626] ? trace_initcall_level+0x35/0x8b [ 7.810393] kernel_init_freeable+0x13b/0x1bf [ 7.811145] ? rest_init+0x9e/0x9e [ 7.811745] kernel_init+0xa/0xf5 [ 7.812336] ret_from_fork+0x24/0x30 [ 7.812959] test_overflow: kvzalloc detected saturation [ 7.813888] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) [ 7.815901] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.817214] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.818656] Call Trace: [ 7.819093] warn_alloc+0xac/0x129 [ 7.819695] __vmalloc_node_range+0x1c9/0x1d7 [ 7.820451] __vmalloc_node+0x2a/0x2f [ 7.821091] ? test_module_init+0x181f/0x1d0a [ 7.821851] __vmalloc_node_flags_caller+0x30/0x31 [ 7.822686] test_module_init+0x181f/0x1d0a [ 7.823418] ? preempt_latency_stop+0x20/0x3c [ 7.824167] ? preempt_count_sub+0x13/0x1c [ 7.824886] ? wake_up_klogd+0x3b/0x4b [ 7.825544] ? vprintk_emit+0x27f/0x291 [ 7.826214] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.827158] do_one_initcall+0x91/0x203 [ 7.827841] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.828661] ? trace_initcall_level+0x35/0x8b [ 7.829421] kernel_init_freeable+0x13b/0x1bf [ 7.830182] ? rest_init+0x9e/0x9e [ 7.830788] kernel_init+0xa/0xf5 [ 7.831379] ret_from_fork+0x24/0x30 [ 7.832002] test_overflow: kvzalloc_node detected saturation [ 7.833015] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6000c0(GFP_KERNEL), nodemask=(null) [ 7.834869] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.836143] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.837610] Call Trace: [ 7.838062] warn_alloc+0xac/0x129 [ 7.838677] __vmalloc_node_range+0x1c9/0x1d7 [ 7.839444] __vmalloc_node+0x2a/0x2f [ 7.840083] ? test_module_init+0x18d1/0x1d0a [ 7.840843] __vmalloc_node_flags+0x29/0x2a [ 7.841573] test_module_init+0x18d1/0x1d0a [ 7.842313] ? preempt_latency_stop+0x20/0x3c [ 7.843065] ? preempt_count_sub+0x13/0x1c [ 7.843783] ? wake_up_klogd+0x3b/0x4b [ 7.844442] ? vprintk_emit+0x27f/0x291 [ 7.845108] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.845999] do_one_initcall+0x91/0x203 [ 7.856482] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.857347] ? trace_initcall_level+0x35/0x8b [ 7.858107] kernel_init_freeable+0x13b/0x1bf [ 7.858870] ? rest_init+0x9e/0x9e [ 7.859472] kernel_init+0xa/0xf5 [ 7.860057] ret_from_fork+0x24/0x30 [ 7.860691] test_overflow: vmalloc detected saturation [ 7.861617] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6000c0(GFP_KERNEL), nodemask=(null) [ 7.863482] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.864752] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.866180] Call Trace: [ 7.866666] warn_alloc+0xac/0x129 [ 7.867272] __vmalloc_node_range+0x1c9/0x1d7 [ 7.868035] __vmalloc_node+0x2a/0x2f [ 7.868679] ? test_module_init+0x198c/0x1d0a [ 7.869436] vmalloc_node+0x33/0x34 [ 7.870047] test_module_init+0x198c/0x1d0a [ 7.870783] ? preempt_latency_stop+0x20/0x3c [ 7.871541] ? preempt_count_sub+0x13/0x1c [ 7.872252] ? wake_up_klogd+0x3b/0x4b [ 7.872910] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.873802] do_one_initcall+0x91/0x203 [ 7.874487] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.875308] ? trace_initcall_level+0x35/0x8b [ 7.876068] kernel_init_freeable+0x13b/0x1bf [ 7.876871] ? rest_init+0x9e/0x9e [ 7.877488] kernel_init+0xa/0xf5 [ 7.878086] ret_from_fork+0x24/0x30 [ 7.878730] test_overflow: vmalloc_node detected saturation [ 7.879739] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) [ 7.881777] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.883062] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.884515] Call Trace: [ 7.884953] warn_alloc+0xac/0x129 [ 7.885556] __vmalloc_node_range+0x1c9/0x1d7 [ 7.886319] __vmalloc_node+0x2a/0x2f [ 7.887013] ? test_module_init+0x1a3e/0x1d0a [ 7.887786] __vmalloc_node_flags+0x29/0x2a [ 7.888525] test_module_init+0x1a3e/0x1d0a [ 7.889259] ? preempt_latency_stop+0x20/0x3c [ 7.890022] ? preempt_count_sub+0x13/0x1c [ 7.890745] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.891640] do_one_initcall+0x91/0x203 [ 7.892317] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.893127] ? trace_initcall_level+0x35/0x8b [ 7.893896] kernel_init_freeable+0x13b/0x1bf [ 7.894681] ? rest_init+0x9e/0x9e [ 7.895274] kernel_init+0xa/0xf5 [ 7.895863] ret_from_fork+0x24/0x30 [ 7.896549] test_overflow: vzalloc detected saturation [ 7.897483] swapper: vmalloc: allocation failure: 18446744073709551615 bytes, mode:0x6080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) [ 7.899503] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 7.900760] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 7.902182] Call Trace: [ 7.902627] warn_alloc+0xac/0x129 [ 7.903222] __vmalloc_node_range+0x1c9/0x1d7 [ 7.903979] __vmalloc_node+0x2a/0x2f [ 7.904628] ? test_module_init+0x1af9/0x1d0a [ 7.905387] __vmalloc_node_flags+0x29/0x2a [ 7.906116] test_module_init+0x1af9/0x1d0a [ 7.906922] ? preempt_latency_stop+0x20/0x3c [ 7.907732] ? test_overflow_calculation+0x14b0/0x14b0 [ 7.908685] do_one_initcall+0x91/0x203 [ 7.909392] ? rcu_read_lock_sched_held+0x5c/0x65 [ 7.910246] ? trace_initcall_level+0x35/0x8b [ 7.911044] kernel_init_freeable+0x13b/0x1bf [ 7.911842] ? rest_init+0x9e/0x9e [ 7.912474] kernel_init+0xa/0xf5 [ 7.913084] ret_from_fork+0x24/0x30 [ 7.913741] test_overflow: vzalloc_node detected saturation [ 7.914766] test_overflow: devm_kmalloc detected saturation [ 7.915777] test_overflow: devm_kzalloc detected saturation [ 7.916981] test_overflow: all tests passed [ 7.917864] test_bitmap: test 13: input is '0-2047:128/256' OK, Time: 1377 [ 7.922054] test_bitmap: all 1524 tests passed [ 7.922863] test_bitfield: tests passed [ 7.923548] test_uuid: all 18 tests passed [ 27.899141] [ 27.901831] ============================= [ 27.902386] WARNING: suspicious RCU usage [ 27.902869] 4.20.0-rc5-00067-g4848361 #1 Not tainted [ 27.903479] ----------------------------- [ 27.903988] include/linux/xarray.h:887 suspicious rcu_dereference_check() usage! [ 27.905114] [ 27.905114] other info that might help us debug this: [ 27.905114] [ 27.906092] [ 27.906092] rcu_scheduler_active = 2, debug_locks = 1 [ 27.907064] no locks held by swapper/1. [ 27.907574] [ 27.907574] stack backtrace: [ 27.908383] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 27.909748] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 27.911299] Call Trace: [ 27.911797] xa_head+0x53/0x59 [ 27.912437] xas_find_marked+0x4c/0x217 [ 27.913088] ? check_cmpxchg+0x2a0/0x2a0 [ 27.913720] check_find_3+0x58/0xfb [ 27.914302] check_find+0xf/0x19 [ 27.914822] xarray_checks+0x37/0xa7 [ 27.915266] do_one_initcall+0x91/0x203 [ 27.915762] ? rcu_read_lock_sched_held+0x5c/0x65 [ 27.916336] ? trace_initcall_level+0x35/0x8b [ 27.916963] kernel_init_freeable+0x13b/0x1bf [ 27.917520] ? rest_init+0x9e/0x9e [ 27.917927] kernel_init+0xa/0xf5 [ 27.918334] ret_from_fork+0x24/0x30 [ 27.919107] [ 27.919311] ============================= [ 27.919787] WARNING: suspicious RCU usage [ 27.920305] 4.20.0-rc5-00067-g4848361 #1 Not tainted [ 27.921133] ----------------------------- [ 27.921810] include/linux/xarray.h:903 suspicious rcu_dereference_check() usage! [ 27.923348] [ 27.923348] other info that might help us debug this: [ 27.923348] [ 27.924677] [ 27.924677] rcu_scheduler_active = 2, debug_locks = 1 [ 27.925767] no locks held by swapper/1. [ 27.926416] [ 27.926416] stack backtrace: [ 27.927211] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 27.928584] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 27.930123] Call Trace: [ 27.930616] xa_entry+0x5a/0x60 [ 27.931208] xas_find_marked+0xf5/0x217 [ 27.931943] ? check_cmpxchg+0x2a0/0x2a0 [ 27.932887] check_find_3+0x58/0xfb [ 27.933762] check_find+0xf/0x19 [ 27.934583] xarray_checks+0x37/0xa7 [ 27.935268] do_one_initcall+0x91/0x203 [ 27.935989] ? rcu_read_lock_sched_held+0x5c/0x65 [ 27.936945] ? trace_initcall_level+0x35/0x8b [ 27.937793] kernel_init_freeable+0x13b/0x1bf [ 27.938613] ? rest_init+0x9e/0x9e [ 27.939185] kernel_init+0xa/0xf5 [ 27.939807] ret_from_fork+0x24/0x30 [ 27.940501] [ 27.940795] ============================= [ 27.941556] WARNING: suspicious RCU usage [ 27.942265] 4.20.0-rc5-00067-g4848361 #1 Not tainted [ 27.943098] ----------------------------- [ 27.943774] include/linux/xarray.h:903 suspicious rcu_dereference_check() usage! [ 27.945309] [ 27.945309] other info that might help us debug this: [ 27.945309] [ 27.946658] [ 27.946658] rcu_scheduler_active = 2, debug_locks = 1 [ 27.947844] no locks held by swapper/1. [ 27.948576] [ 27.948576] stack backtrace: [ 27.949390] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 27.950772] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 27.952208] Call Trace: [ 27.952642] xa_entry+0x5a/0x60 [ 27.953178] check_find_3+0x68/0xfb [ 27.953957] check_find+0xf/0x19 [ 27.954696] xarray_checks+0x37/0xa7 [ 27.955350] do_one_initcall+0x91/0x203 [ 27.956021] ? rcu_read_lock_sched_held+0x5c/0x65 [ 27.956919] ? trace_initcall_level+0x35/0x8b [ 27.957737] kernel_init_freeable+0x13b/0x1bf [ 27.958571] ? rest_init+0x9e/0x9e [ 27.959203] kernel_init+0xa/0xf5 [ 27.959833] ret_from_fork+0x24/0x30 [ 27.960527] [ 27.960827] ============================= [ 27.961584] WARNING: suspicious RCU usage [ 27.962346] 4.20.0-rc5-00067-g4848361 #1 Not tainted [ 27.963261] ----------------------------- [ 27.964025] include/linux/xarray.h:920 suspicious rcu_dereference_check() usage! [ 27.965731] [ 27.965731] other info that might help us debug this: [ 27.965731] [ 27.967213] [ 27.967213] rcu_scheduler_active = 2, debug_locks = 1 [ 27.968379] no locks held by swapper/1. [ 27.969050] [ 27.969050] stack backtrace: [ 27.969809] CPU: 0 PID: 1 Comm: swapper Not tainted 4.20.0-rc5-00067-g4848361 #1 [ 27.971080] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014 [ 27.972511] Call Trace: [ 27.972952] xa_parent+0x53/0x59 [ 27.973522] xas_find_marked+0xd3/0x217 [ 27.974188] ? check_cmpxchg+0x2a0/0x2a0 [ 27.975085] check_find_3+0x68/0xfb [ 27.975741] check_find+0xf/0x19 [ 27.976267] xarray_checks+0x37/0xa7 [ 27.976756] do_one_initcall+0x91/0x203 [ 27.977473] ? rcu_read_lock_sched_held+0x5c/0x65 [ 27.978186] ? trace_initcall_level+0x35/0x8b [ 27.978733] kernel_init_freeable+0x13b/0x1bf [ 27.979511] ? rest_init+0x9e/0x9e [ 27.980108] kernel_init+0xa/0xf5 [ 27.980751] ret_from_fork+0x24/0x30 [ 30.742940] XArray: 20183107 of 20183107 tests passed [ 30.745158] test_memcat_p: test passed [ 30.746520] xz_dec_test: module loaded [ 30.746992] xz_dec_test: Create a device node with 'mknod xz_dec_test c 243 0' and write .xz files to it. [ 30.748303] glob: 64 self-tests passed, 0 failed To reproduce: git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp qemu -k job-script # job-script is attached in this email Thanks, Rong Chen