From: kernel test robot <oliver.sang@intel.com>
To: <linux+lkp@weissschuh.net>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, <oliver.sang@intel.com>
Subject: [thomas-weissschuh:b4/restricted-pointers-final] [lib/vsprintf] 2fad68b9dd: WARNING:SOFTIRQ-safe->SOFTIRQ-unsafe_lock_order_detected
Date: Sun, 22 Mar 2026 18:14:26 +0800 [thread overview]
Message-ID: <202603221100.e934e697-lkp@intel.com> (raw)
Hello,
kernel test robot noticed "WARNING:SOFTIRQ-safe->SOFTIRQ-unsafe_lock_order_detected" on:
commit: 2fad68b9ddb336324b5890e94998ef7d050481ac ("lib/vsprintf: Validate spinlock context during restricted pointer formatting")
https://git.kernel.org/cgit/linux/kernel/git/thomas.weissschuh/linux.git b4/restricted-pointers-final
in testcase: trinity
version: trinity-static-i386-x86_64-f93256fb_2019-08-28
with following parameters:
runtime: 300s
group: group-02
nr_groups: 5
config: i386-randconfig-2006-20250804
compiler: gcc-14
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
(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 <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202603221100.e934e697-lkp@intel.com
[ 31.792070][ T860] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
[ 31.792841][ T860] 7.0.0-rc4-00004-g2fad68b9ddb3 #1 Not tainted
[ 31.793462][ T860] -----------------------------------------------------
[ 31.794192][ T860] rsync/860 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire:
[ 31.794909][ T860] b4048e20 (&tcp_hashinfo.bhash[i].lock){+...}-{3:3}, at: inet_twsk_hashdance_schedule (include/linux/spinlock.h:341 net/ipv4/inet_timewait_sock.c:123)
[ 31.795980][ T860]
[ 31.795980][ T860] and this task is already holding:
[ 31.796736][ T860] f2501440 (slock-AF_INET){+.-.}-{3:3}, at: __release_sock (include/linux/spinlock.h:348 net/core/sock.c:3223)
[ 31.797544][ T860] which would create a new lock dependency:
[ 31.798132][ T860] (slock-AF_INET){+.-.}-{3:3} -> (&tcp_hashinfo.bhash[i].lock){+...}-{3:3}
[ 31.798985][ T860]
[ 31.798985][ T860] but this new dependency connects a SOFTIRQ-irq-safe lock:
[ 31.799890][ T860] (slock-AF_INET){+.-.}-{3:3}
[ 31.799893][ T860]
[ 31.799893][ T860] ... which became SOFTIRQ-irq-safe at:
[ 31.808686][ T860] mark_usage (kernel/locking/lockdep.c:4642 (discriminator 1))
[ 31.809160][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.809657][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.810127][ T860] _raw_spin_lock (include/linux/spinlock_api_smp.h:159 kernel/locking/spinlock.c:154)
[ 31.810622][ T860] tcp_tsq_handler (include/net/sock.h:1809 net/ipv4/tcp_output.c:1279)
[ 31.811121][ T860] tcp_tsq_workfn (net/ipv4/tcp_output.c:1313)
[ 31.817716][ T860] process_one_work (include/trace/events/workqueue.h:110 (discriminator 4) include/trace/events/workqueue.h:110 (discriminator 4) kernel/workqueue.c:3281 (discriminator 4))
[ 31.818306][ T860] process_scheduled_works (kernel/workqueue.c:3359)
[ 31.818856][ T860] bh_worker (include/linux/list.h:381 (discriminator 2) kernel/workqueue.c:949 (discriminator 2) kernel/workqueue.c:3663 (discriminator 2))
[ 31.819308][ T860] workqueue_softirq_action (kernel/workqueue.c:3691)
[ 31.819877][ T860] tasklet_action (kernel/softirq.c:953)
[ 31.820373][ T860] handle_softirqs (include/trace/events/irq.h:142 (discriminator 4) include/trace/events/irq.h:142 (discriminator 4) kernel/softirq.c:623 (discriminator 4))
[ 31.820878][ T860] run_ksoftirqd (kernel/softirq.c:479 kernel/softirq.c:1064 kernel/softirq.c:1055)
[ 31.821359][ T860] smpboot_thread_fn (kernel/smpboot.c:160)
[ 31.821894][ T860] kthread (kernel/kthread.c:438)
[ 31.822333][ T860] ret_from_fork (arch/x86/kernel/process.c:164)
[ 31.822818][ T860] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 31.823320][ T860] restore_all_switch_stack (arch/x86/entry/entry_32.S:945)
[ 31.823866][ T860]
[ 31.823866][ T860] to a SOFTIRQ-irq-unsafe lock:
[ 31.824605][ T860] (vsprintf_restricted_pointer_map-wait-type-assert){+.+.}-{3:3}
[ 31.824609][ T860]
[ 31.824609][ T860] ... which became SOFTIRQ-irq-unsafe at:
[ 31.826170][ T860] ...
[ 31.826172][ T860] mark_usage (kernel/locking/lockdep.c:4666 (discriminator 1))
[ 31.826946][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.827433][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.827909][ T860] restricted_pointer (lib/vsprintf.c:874)
[ 31.828426][ T860] pointer (lib/vsprintf.c:2580)
[ 31.828862][ T860] vsnprintf (lib/vsprintf.c:2961 (discriminator 1))
[ 31.829310][ T860] seq_vprintf (fs/seq_file.c:393)
[ 31.829777][ T860] seq_printf (fs/seq_file.c:409)
[ 31.830225][ T860] get_tcp4_sock (net/ipv4/tcp_ipv4.c:2908)
[ 31.830709][ T860] tcp4_seq_show (net/ipv4/tcp_ipv4.c:2952)
[ 31.831190][ T860] seq_read_iter (fs/seq_file.c:273)
[ 31.831675][ T860] seq_read (fs/seq_file.c:164)
[ 31.832240][ T860] pde_read (fs/proc/inode.c:308)
[ 31.832686][ T860] proc_reg_read (fs/proc/inode.c:320)
[ 31.833153][ T860] vfs_read (fs/read_write.c:572)
[ 31.833596][ T860] ksys_read (fs/read_write.c:718)
[ 31.834037][ T860] __ia32_sys_read (fs/read_write.c:724)
[ 31.834518][ T860] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-2006-20250804/./arch/x86/include/generated/asm/syscalls_32.h:4)
[ 31.835001][ T860] do_int80_syscall_32 (arch/x86/entry/syscall_32.c:83 arch/x86/entry/syscall_32.c:259)
[ 31.835530][ T860] restore_all_switch_stack (arch/x86/entry/entry_32.S:945)
[ 31.836089][ T860]
[ 31.836089][ T860] other info that might help us debug this:
[ 31.836089][ T860]
[ 31.837114][ T860] Chain exists of:
[ 31.837114][ T860] slock-AF_INET --> &tcp_hashinfo.bhash[i].lock --> vsprintf_restricted_pointer_map-wait-type-assert
[ 31.837114][ T860]
[ 31.838810][ T860] Possible interrupt unsafe locking scenario:
[ 31.838810][ T860]
[ 31.839620][ T860] CPU0 CPU1
[ 31.840171][ T860] ---- ----
[ 31.840716][ T860] lock(vsprintf_restricted_pointer_map-wait-type-assert);
[ 31.841423][ T860] local_irq_disable();
[ 31.842075][ T860] lock(slock-AF_INET);
[ 31.842729][ T860] lock(&tcp_hashinfo.bhash[i].lock);
[ 31.843514][ T860] <Interrupt>
[ 31.843897][ T860] lock(slock-AF_INET);
[ 31.844443][ T860]
[ 31.844443][ T860] *** DEADLOCK ***
[ 31.844443][ T860]
[ 31.845278][ T860] 3 locks held by rsync/860:
[ 31.845751][ T860] #0: b533ce40 (&sb->s_type->i_mutex_key#6){+.+.}-{4:4}, at: __sock_release (net/socket.c:662)
[ 31.846692][ T860] #1: f2501494 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock (include/net/sock.h:1710)
[ 31.847502][ T860] #2: f2501440 (slock-AF_INET){+.-.}-{3:3}, at: __release_sock (include/linux/spinlock.h:348 net/core/sock.c:3223)
[ 31.848362][ T860]
[ 31.848362][ T860] the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
[ 31.849409][ T860] -> (slock-AF_INET){+.-.}-{3:3} {
[ 31.849930][ T860] HARDIRQ-ON-W at:
[ 31.850364][ T860] mark_usage (kernel/locking/lockdep.c:4662 (discriminator 1))
[ 31.850948][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.851566][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.852193][ T860] _raw_spin_lock_bh (include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:178)
[ 31.852820][ T860] __lock_sock_fast (net/core/sock.c:3829)
[ 31.853437][ T860] udp_destroy_sock (include/net/sock.h:1743 net/ipv4/udp.c:2942)
[ 31.854055][ T860] sk_common_release (net/core/sock.c:3990)
[ 31.854677][ T860] udp_lib_close (include/net/udp.h:325)
[ 31.855272][ T860] inet_release (net/ipv4/af_inet.c:444)
[ 31.855864][ T860] __sock_release (net/socket.c:663)
[ 31.856511][ T860] sock_close (net/socket.c:1457)
[ 31.857081][ T860] __fput (fs/file_table.c:470 (discriminator 1))
[ 31.857641][ T860] fput_close_sync (fs/file_table.c:574)
[ 31.858264][ T860] __ia32_sys_close (fs/open.c:1511 (discriminator 1) fs/open.c:1494 (discriminator 1) fs/open.c:1494 (discriminator 1))
[ 31.858881][ T860] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-2006-20250804/./arch/x86/include/generated/asm/syscalls_32.h:7)
[ 31.859496][ T860] do_int80_syscall_32 (arch/x86/entry/syscall_32.c:83 arch/x86/entry/syscall_32.c:259)
[ 31.860295][ T860] restore_all_switch_stack (arch/x86/entry/entry_32.S:945)
[ 31.861002][ T860] IN-SOFTIRQ-W at:
[ 31.861430][ T860] mark_usage (kernel/locking/lockdep.c:4642 (discriminator 1))
[ 31.862013][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.862631][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.863226][ T860] _raw_spin_lock (include/linux/spinlock_api_smp.h:159 kernel/locking/spinlock.c:154)
[ 31.863831][ T860] tcp_tsq_handler (include/net/sock.h:1809 net/ipv4/tcp_output.c:1279)
[ 31.864477][ T860] tcp_tsq_workfn (net/ipv4/tcp_output.c:1313)
[ 31.865087][ T860] process_one_work (include/trace/events/workqueue.h:110 (discriminator 4) include/trace/events/workqueue.h:110 (discriminator 4) kernel/workqueue.c:3281 (discriminator 4))
[ 31.865720][ T860] process_scheduled_works (kernel/workqueue.c:3359)
[ 31.866388][ T860] bh_worker (include/linux/list.h:381 (discriminator 2) kernel/workqueue.c:949 (discriminator 2) kernel/workqueue.c:3663 (discriminator 2))
[ 31.866957][ T860] workqueue_softirq_action (kernel/workqueue.c:3691)
[ 31.867632][ T860] tasklet_action (kernel/softirq.c:953)
[ 31.868239][ T860] handle_softirqs (include/trace/events/irq.h:142 (discriminator 4) include/trace/events/irq.h:142 (discriminator 4) kernel/softirq.c:623 (discriminator 4))
[ 31.868886][ T860] run_ksoftirqd (kernel/softirq.c:479 kernel/softirq.c:1064 kernel/softirq.c:1055)
[ 31.869488][ T860] smpboot_thread_fn (kernel/smpboot.c:160)
[ 31.870133][ T860] kthread (kernel/kthread.c:438)
[ 31.870698][ T860] ret_from_fork (arch/x86/kernel/process.c:164)
[ 31.871307][ T860] ret_from_fork_asm (arch/x86/entry/entry_32.S:737)
[ 31.871931][ T860] restore_all_switch_stack (arch/x86/entry/entry_32.S:945)
[ 31.872643][ T860] INITIAL USE at:
[ 31.873062][ T860] mark_usage (kernel/locking/lockdep.c:4674 (discriminator 1))
[ 31.873640][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.874256][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.874909][ T860] _raw_spin_lock_bh (include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:178)
[ 31.875527][ T860] __lock_sock_fast (net/core/sock.c:3829)
[ 31.876148][ T860] udp_destroy_sock (include/net/sock.h:1743 net/ipv4/udp.c:2942)
[ 31.876762][ T860] sk_common_release (net/core/sock.c:3990)
[ 31.877383][ T860] udp_lib_close (include/net/udp.h:325)
[ 31.877971][ T860] inet_release (net/ipv4/af_inet.c:444)
[ 31.878562][ T860] __sock_release (net/socket.c:663)
[ 31.879159][ T860] sock_close (net/socket.c:1457)
[ 31.879718][ T860] __fput (fs/file_table.c:470 (discriminator 1))
[ 31.880295][ T860] fput_close_sync (fs/file_table.c:574)
[ 31.880901][ T860] __ia32_sys_close (fs/open.c:1511 (discriminator 1) fs/open.c:1494 (discriminator 1) fs/open.c:1494 (discriminator 1))
[ 31.881520][ T860] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-2006-20250804/./arch/x86/include/generated/asm/syscalls_32.h:7)
[ 31.882127][ T860] do_int80_syscall_32 (arch/x86/entry/syscall_32.c:83 arch/x86/entry/syscall_32.c:259)
[ 31.882777][ T860] restore_all_switch_stack (arch/x86/entry/entry_32.S:945)
[ 31.883436][ T860] }
[ 31.883736][ T860] ... key at: af_family_slock_keys+0x10/0x180
[ 31.884527][ T860]
[ 31.884527][ T860] the dependencies between the lock to be acquired
[ 31.884529][ T860] and SOFTIRQ-irq-unsafe lock:
[ 31.885887][ T860] -> (vsprintf_restricted_pointer_map-wait-type-assert){+.+.}-{3:3} {
[ 31.886729][ T860] HARDIRQ-ON-W at:
[ 31.887185][ T860] mark_usage (kernel/locking/lockdep.c:4662 (discriminator 1))
[ 31.887813][ T860] __lock_acquire (kernel/locking/lockdep.c:5191)
[ 31.888488][ T860] lock_acquire (kernel/locking/lockdep.c:470 (discriminator 4) kernel/locking/lockdep.c:5870 (discriminator 4) kernel/locking/lockdep.c:5825 (discriminator 4))
[ 31.889132][ T860] restricted_pointer (lib/vsprintf.c:874)
The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260322/202603221100.e934e697-lkp@intel.com
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-03-22 10:14 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=202603221100.e934e697-lkp@intel.com \
--to=oliver.sang@intel.com \
--cc=linux+lkp@weissschuh.net \
--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