From: kernel test robot <oliver.sang@intel.com>
To: Christian Brauner <brauner@kernel.org>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
Christian Brauner <christianvanbrauner@gmail.com>,
<oliver.sang@intel.com>
Subject: [brauner-github:work.xattr.socket] [kernfs] 3631352a7a: BUG:sleeping_function_called_from_invalid_context_at_kernel/workqueue.c
Date: Thu, 12 Feb 2026 23:12:00 +0800 [thread overview]
Message-ID: <202602122354.69217204-lkp@intel.com> (raw)
Hello,
kernel test robot noticed "BUG:sleeping_function_called_from_invalid_context_at_kernel/workqueue.c" on:
commit: 3631352a7a1d5666723822eb421dd039b3b8ea8e ("kernfs: adapt to rhashtable-based simple_xattrs with lazy allocation")
https://github.com/brauner/linux.git work.xattr.socket
in testcase: boot
config: x86_64-rhel-9.4-rust
compiler: clang-20
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 32G
(please refer to attached dmesg/kmsg for entire log/backtrace)
+-------------------------------------------------------------------------+------------+------------+
| | 2115f2915b | 3631352a7a |
+-------------------------------------------------------------------------+------------+------------+
| BUG:sleeping_function_called_from_invalid_context_at_kernel/workqueue.c | 0 | 6 |
+-------------------------------------------------------------------------+------------+------------+
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 <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202602122354.69217204-lkp@intel.com
[ 39.161797][ C0] BUG: sleeping function called from invalid context at kernel/workqueue.c:4390
[ 39.164598][ C0] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 110, name: udevadm
[ 39.167222][ C0] preempt_count: 100, expected: 0
[ 39.168816][ C0] RCU nest depth: 0, expected: 0
[ 39.170370][ C0] CPU: 0 UID: 0 PID: 110 Comm: udevadm Not tainted 6.19.0-01456-g3631352a7a1d #1 PREEMPT(voluntary)
[ 39.170375][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 39.170378][ C0] Call Trace:
[ 39.170398][ C0] <IRQ>
[ 39.170403][ C0] dump_stack_lvl (lib/dump_stack.c:123)
[ 39.170427][ C0] __might_resched (kernel/sched/core.c:8830)
[ 39.170497][ C0] __cancel_work_sync (include/linux/kernel.h:61 kernel/workqueue.c:4390)
[ 39.170503][ C0] ? simple_xattrs_free (fs/xattr.c:1747)
[ 39.170506][ C0] rhashtable_free_and_destroy (lib/rhashtable.c:1153)
[ 39.170515][ C0] ? kfree (mm/slub.c:?)
[ 39.170521][ C0] ? kernfs_put (fs/kernfs/dir.c:544)
[ 39.170525][ C0] kernfs_free_rcu (fs/kernfs/dir.c:553)
[ 39.170533][ C0] rcu_do_batch (arch/x86/include/asm/preempt.h:27 kernel/rcu/tree.c:2624)
[ 39.170543][ C0] rcu_core (kernel/rcu/tree.c:2871)
[ 39.170546][ C0] handle_softirqs (arch/x86/include/asm/jump_label.h:37 include/trace/events/irq.h:142 kernel/softirq.c:623)
[ 39.170555][ C0] __irq_exit_rcu (arch/x86/include/asm/jump_label.h:37 kernel/softirq.c:725)
[ 39.170559][ C0] sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1056)
[ 39.170570][ C0] </IRQ>
[ 39.170572][ C0] <TASK>
[ 39.170573][ C0] asm_sysvec_apic_timer_interrupt (arch/x86/include/asm/idtentry.h:697)
[ 39.170581][ C0] RIP: 0010:__d_lookup (fs/dcache.c:2418)
[ 39.170587][ C0] Code: 00 00 00 00 00 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 0f 1f 44 00 00 <55> 41 57 41 56 41 55 41 54 53 48 89 f3 49 89 fe 44 8b 2e 49 bf 00
All code
========
0: 00 00 add %al,(%rax)
2: 00 00 add %al,(%rax)
4: 00 66 66 add %ah,0x66(%rsi)
7: 66 66 66 66 2e 0f 1f data16 data16 data16 cs nopw 0x0(%rax,%rax,1)
e: 84 00 00 00 00 00
14: 66 66 66 66 66 66 2e data16 data16 data16 data16 data16 cs nopw 0x0(%rax,%rax,1)
1b: 0f 1f 84 00 00 00 00
22: 00
23: 66 90 xchg %ax,%ax
25: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
2a:* 55 push %rbp <-- trapping instruction
2b: 41 57 push %r15
2d: 41 56 push %r14
2f: 41 55 push %r13
31: 41 54 push %r12
33: 53 push %rbx
34: 48 89 f3 mov %rsi,%rbx
37: 49 89 fe mov %rdi,%r14
3a: 44 8b 2e mov (%rsi),%r13d
3d: 49 rex.WB
3e: bf .byte 0xbf
...
Code starting with the faulting instruction
===========================================
0: 55 push %rbp
1: 41 57 push %r15
3: 41 56 push %r14
5: 41 55 push %r13
7: 41 54 push %r12
9: 53 push %rbx
a: 48 89 f3 mov %rsi,%rbx
d: 49 89 fe mov %rdi,%r14
10: 44 8b 2e mov (%rsi),%r13d
13: 49 rex.WB
14: bf .byte 0xbf
...
[ 39.170590][ C0] RSP: 0018:ffffce2d404db9a0 EFLAGS: 00000246
[ 39.170594][ C0] RAX: ffff88920147dd98 RBX: ffffce2d404dbaf8 RCX: 0000000000000006
[ 39.170595][ C0] RDX: 0000000000000000 RSI: ffffce2d404dbaf8 RDI: ffff88920ef9c780
[ 39.170597][ C0] RBP: 0000000000000100 R08: 0000002800000001 R09: ffffffff90435034
[ 39.170599][ C0] R10: 0000000000000000 R11: ffffffff8df80580 R12: ffff88926f3a0000
[ 39.170601][ C0] R13: ffff889333fb16c0 R14: ffffce2d404dbae8 R15: ffff88920ef9c780
[ 39.170603][ C0] ? kernfs_evict_inode (fs/kernfs/inode.c:282)
[ 39.170612][ C0] lookup_fast (fs/namei.c:1875)
[ 39.170617][ C0] path_lookupat (include/linux/err.h:78 fs/namei.c:2276 fs/namei.c:2780 fs/namei.c:2804)
[ 39.170620][ C0] do_o_path (fs/namei.c:4802)
[ 39.170623][ C0] ? alloc_empty_file (fs/file_table.c:258)
[ 39.170628][ C0] path_openat (fs/namei.c:4824)
[ 39.170632][ C0] ? kernfs_iop_permission (fs/kernfs/inode.c:299)
[ 39.170635][ C0] do_file_open (fs/namei.c:4860)
[ 39.170659][ C0] ? kernfs_iop_getattr (fs/kernfs/inode.c:202)
[ 39.170662][ C0] ? kmem_cache_alloc_noprof (include/linux/kernel.h:?)
[ 39.170665][ C0] ? do_getname (fs/namei.c:183)
[ 39.170667][ C0] ? __check_object_size (mm/usercopy.c:198)
[ 39.170674][ C0] ? strncpy_from_user (arch/x86/include/asm/uaccess_64.h:70 lib/strncpy_from_user.c:129)
[ 39.170680][ C0] do_sys_openat2 (include/linux/err.h:78 include/linux/file.h:177 fs/open.c:1366)
[ 39.170689][ C0] __x64_sys_openat (fs/open.c:1383)
[ 39.170692][ C0] do_syscall_64 (arch/x86/entry/syscall_64.c:?)
[ 39.170703][ C0] ? __memcg_slab_free_hook (include/linux/mm.h:2516)
[ 39.170708][ C0] ? __x64_sys_close (fs/open.c:1511)
[ 39.170711][ C0] ? kmem_cache_free (mm/slub.c:?)
[ 39.170714][ C0] ? __x64_sys_close (fs/open.c:1511)
[ 39.170717][ C0] ? do_syscall_64 (arch/x86/include/asm/atomic64_64.h:15 include/linux/atomic/atomic-arch-fallback.h:2583 include/linux/atomic/atomic-long.h:38 include/linux/atomic/atomic-instrumented.h:3189 include/linux/unwind_deferred.h:37 include/linux/irq-entry-common.h:296 include/linux/entry-common.h:196 arch/x86/entry/syscall_64.c:100)
[ 39.170720][ C0] ? do_sys_openat2 (fs/open.c:1367)
[ 39.170722][ C0] ? __x64_sys_openat (fs/open.c:1383)
[ 39.170725][ C0] ? do_syscall_64 (arch/x86/include/asm/atomic64_64.h:15 include/linux/atomic/atomic-arch-fallback.h:2583 include/linux/atomic/atomic-long.h:38 include/linux/atomic/atomic-instrumented.h:3189 include/linux/unwind_deferred.h:37 include/linux/irq-entry-common.h:296 include/linux/entry-common.h:196 arch/x86/entry/syscall_64.c:100)
[ 39.170731][ C0] ? do_syscall_64 (arch/x86/include/asm/atomic64_64.h:15 include/linux/atomic/atomic-arch-fallback.h:2583 include/linux/atomic/atomic-long.h:38 include/linux/atomic/atomic-instrumented.h:3189 include/linux/unwind_deferred.h:37 include/linux/irq-entry-common.h:296 include/linux/entry-common.h:196 arch/x86/entry/syscall_64.c:100)
[ 39.170735][ C0] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:131)
[ 39.170740][ C0] RIP: 0033:0x7fbfe837a687
[ 39.170745][ C0] Code: 48 89 fa 4c 89 df e8 58 b3 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
All code
========
0: 48 89 fa mov %rdi,%rdx
3: 4c 89 df mov %r11,%rdi
6: e8 58 b3 00 00 call 0xb363
b: 8b 93 08 03 00 00 mov 0x308(%rbx),%edx
11: 59 pop %rcx
12: 5e pop %rsi
13: 48 83 f8 fc cmp $0xfffffffffffffffc,%rax
17: 74 1a je 0x33
19: 5b pop %rbx
1a: c3 ret
1b: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
22: 00
23: 48 8b 44 24 10 mov 0x10(%rsp),%rax
28: 0f 05 syscall
2a:* 5b pop %rbx <-- trapping instruction
2b: c3 ret
2c: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
33: 83 e2 39 and $0x39,%edx
36: 83 fa 08 cmp $0x8,%edx
39: 75 de jne 0x19
3b: e8 23 ff ff ff call 0xffffffffffffff63
Code starting with the faulting instruction
===========================================
0: 5b pop %rbx
1: c3 ret
2: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
9: 83 e2 39 and $0x39,%edx
c: 83 fa 08 cmp $0x8,%edx
f: 75 de jne 0xffffffffffffffef
11: e8 23 ff ff ff call 0xffffffffffffff39
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260212/202602122354.69217204-lkp@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-02-12 15:12 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202602122354.69217204-lkp@intel.com \
--to=oliver.sang@intel.com \
--cc=brauner@kernel.org \
--cc=christianvanbrauner@gmail.com \
--cc=lkp@intel.com \
--cc=oe-lkp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox