public inbox for oe-lkp@lists.linux.dev
 help / color / mirror / Atom feed
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