Subject: [herbert-cryptodev-2.6:master] [rhashtable] e1d3422c95: WARNING:at_mm/util.c:#__kvmalloc_node_noprof

From: kernel test robot <[email-masked]>
Date: Tue, 31 Dec 2024 13:24:06 +0800

Hello,

we reported
"[herbert-cryptodev-2.6:master] [rhashtable]  e1d3422c95: stress-ng.syscall.ops_per_sec 98.9% regression"
in
https://lore.kernel.org/all/[email-masked]/

now we observed below WARNING in another tests. it doesn't always happen.
11 out of 20 runs as below. but keeps clean on parent.

f916e44487f56df4 e1d3422c95f003eba241c176adf
---------------- ---------------------------
       fail:runs  %reproduction    fail:runs
           |             |             |
           :20          55%          11:20    dmesg.RIP:__kvmalloc_node_noprof
           :20          55%          11:20    dmesg.WARNING:at_mm/util.c:#__kvmalloc_node_noprof

below full report FYI.

kernel test robot noticed "WARNING:at_mm/util.c:#__kvmalloc_node_noprof" on:

commit: e1d3422c95f003eba241c176adfe593c33e8a8f6 ("rhashtable: Fix potential deadlock by moving schedule_work outside lock")
https://git.kernel.org/cgit/linux/kernel/git/herbert/cryptodev-2.6.git master

in testcase: reaim
version: reaim-x86_64-7.0.1.13-1_20240229
with following parameters:

	runtime: 300s
	nr_task: 100%
	test: short
	cpufreq_governor: performance

config: x86_64-rhel-9.4
compiler: gcc-12
test machine: 48 threads 2 sockets Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz (Ivy Bridge-EP) with 64G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email-masked]>
| Closes: https://lore.kernel.org/oe-lkp/[email-masked]

kern  :warn  : [   45.855882] ------------[ cut here ]------------
kern :warn : [   45.861844] WARNING: CPU: 5 PID: 379 at mm/util.c:662 __kvmalloc_node_noprof (mm/util.c:662 (discriminator 1))
kern  :warn  : [   45.871496] Modules linked in: btrfs blake2b_generic xor raid6_pq libcrc32c sr_mod sd_mod cdrom sg intel_rapl_msr intel_rapl_common binfmt_misc sb_edac x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul isci crc32c_intel ghash_clmulni_intel snd_pcm libsas ahci mgag200 ipmi_si libahci scsi_transport_sas rapl snd_timer drm_client_lib snd intel_cstate mei_me drm_shmem_helper ipmi_devintf i2c_i801 soundcore ioatdma libata mei intel_uncore drm_kms_helper ipmi_msghandler lpc_ich pcspkr i2c_smbus dca wmi joydev drm fuse loop dm_mod ip_tables
kern  :warn  : [   45.927716] CPU: 5 UID: 0 PID: 379 Comm: kworker/5:1 Not tainted 6.13.0-rc2-00035-ge1d3422c95f0 #1
kern  :warn  : [   45.938497] Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.99.99.x069.071520130923 07/15/2013
kern  :warn  : [   45.950732] Workqueue: events rht_deferred_worker
kern :warn : [   45.956775] RIP: 0010:__kvmalloc_node_noprof (mm/util.c:662 (discriminator 1))
kern :warn : [ 45.963290] Code: 00 00 48 8d 4c 0a ff e8 1d 54 05 00 48 83 c4 18 5b 5d 41 5c c3 cc cc cc cc 48 b9 00 00 00 00 00 20 00 00 eb c3 80 e7 20 75 e6 <0f> 0b eb e2 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 2e 0f 1f 84 00
All code
========
   0:	00 00                	add    %al,(%rax)
   2:	48 8d 4c 0a ff       	lea    -0x1(%rdx,%rcx,1),%rcx
   7:	e8 1d 54 05 00       	call   0x55429
   c:	48 83 c4 18          	add    $0x18,%rsp
  10:	5b                   	pop    %rbx
  11:	5d                   	pop    %rbp
  12:	41 5c                	pop    %r12
  14:	c3                   	ret
  15:	cc                   	int3
  16:	cc                   	int3
  17:	cc                   	int3
  18:	cc                   	int3
  19:	48 b9 00 00 00 00 00 	movabs $0x200000000000,%rcx
  20:	20 00 00 
  23:	eb c3                	jmp    0xffffffffffffffe8
  25:	80 e7 20             	and    $0x20,%bh
  28:	75 e6                	jne    0x10
  2a:*	0f 0b                	ud2		<-- trapping instruction
  2c:	eb e2                	jmp    0x10
  2e:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
  35:	00 00 00 00 
  39:	66                   	data16
  3a:	66                   	data16
  3b:	2e                   	cs
  3c:	0f                   	.byte 0xf
  3d:	1f                   	(bad)
  3e:	84 00                	test   %al,(%rax)

Code starting with the faulting instruction
===========================================
   0:	0f 0b                	ud2
   2:	eb e2                	jmp    0xffffffffffffffe6
   4:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
   b:	00 00 00 00 
   f:	66                   	data16
  10:	66                   	data16
  11:	2e                   	cs
  12:	0f                   	.byte 0xf
  13:	1f                   	(bad)
  14:	84 00                	test   %al,(%rax)
kern  :warn  : [   45.985030] RSP: 0018:ffffc9000726bdf8 EFLAGS: 00010246
kern  :warn  : [   45.991655] RAX: 0000000000000000 RBX: 00000000000000c0 RCX: 0000000000000013
kern  :warn  : [   46.000399] RDX: 0000000000000013 RSI: ffffffff8143fb29 RDI: 0000000000052dc0
kern  :warn  : [   46.009144] RBP: 0000000080000040 R08: ffff888100050ec0 R09: 00000000000003bf
kern  :warn  : [   46.017889] R10: ffffc9000726bdf8 R11: 0000000000000000 R12: 00000000ffffffff
kern  :warn  : [   46.026632] R13: 0000000000000dc0 R14: ffffffff832bdb78 R15: ffffc9003f200000
kern  :warn  : [   46.035377] FS:  0000000000000000(0000) GS:ffff88881f480000(0000) knlGS:0000000000000000
kern  :warn  : [   46.045189] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
kern  :warn  : [   46.052381] CR2: 00007fb81ab04010 CR3: 00000001ddf98002 CR4: 00000000001706f0
kern  :warn  : [   46.061140] Call Trace:
kern  :warn  : [   46.064650]  <TASK>
kern :warn : [   46.067773] ? __warn (kernel/panic.c:748)
kern :warn : [   46.072169] ? __kvmalloc_node_noprof (mm/util.c:662 (discriminator 1))
kern :warn : [   46.078004] ? report_bug (lib/bug.c:180 lib/bug.c:219)
kern :warn : [   46.082885] ? handle_bug (arch/x86/kernel/traps.c:285)
kern :warn : [   46.087570] ? exc_invalid_op (arch/x86/kernel/traps.c:309 (discriminator 1))
kern :warn : [   46.092640] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621)
kern :warn : [   46.098091] ? __kmalloc_node_noprof (arch/x86/include/asm/bitops.h:417 include/asm-generic/getorder.h:46 mm/slub.c:4273 mm/slub.c:4289)
kern :warn : [   46.104039] ? __kvmalloc_node_noprof (mm/util.c:662 (discriminator 1))
kern :warn : [   46.109874] ? __kvmalloc_node_noprof (mm/util.c:653)
kern :warn : [   46.115710] bucket_table_alloc+0x49/0x170
kern :warn : [   46.121753] rht_deferred_worker (lib/rhashtable.c:367 lib/rhashtable.c:427)
kern :warn : [   46.127216] process_one_work (kernel/workqueue.c:3234)
kern :warn : [   46.132492] worker_thread (kernel/workqueue.c:3304 kernel/workqueue.c:3391)
kern :warn : [   46.137471] ? __pfx_worker_thread (kernel/workqueue.c:3337)
kern :warn : [   46.143031] ? __pfx_worker_thread (kernel/workqueue.c:3337)
kern :warn : [   46.148587] kthread (kernel/kthread.c:389)
kern :warn : [   46.152789] ? __pfx_kthread (kernel/kthread.c:342)
kern :warn : [   46.157765] ret_from_fork (arch/x86/kernel/process.c:153)
kern :warn : [   46.162551] ? __pfx_kthread (kernel/kthread.c:342)
kern :warn : [   46.167527] ret_from_fork_asm (arch/x86/entry/entry_64.S:257)
kern  :warn  : [   46.172691]  </TASK>
kern  :warn  : [   46.175920] ---[ end trace 0000000000000000 ]---
user  :err   : [   48.391965] create_shared_memory(): can't create semaphore, pausing...

user  :err   : [   48.404021] create_shared_memory(): can't create semaphore, pausing...

user  :err   : [   48.415885] create_shared_memory(): can't create semaphore, pausing...

user  :err   : [   48.427763] create_shared_memory(): can't create semaphore, pausing...

user  :err   : [   48.439628] create_shared_memory(): can't create semaphore, pausing...

user  :err   : [   48.451489] create_shared_memory(): can't create semaphore, pausing...

The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20241231/[email-masked]

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki