=====================================================
WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected
6.8.0-syzkaller-05271-gf99c5f563c17 #0 Not tainted
-----------------------------------------------------
kworker/1:4/5093 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire:
ffff88802bd37a00 (&stab->lock){+...}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline]
ffff88802bd37a00 (&stab->lock){+...}-{2:2}, at: __sock_map_delete net/core/sock_map.c:414 [inline]
ffff88802bd37a00 (&stab->lock){+...}-{2:2}, at: sock_map_delete_elem+0x97/0x140 net/core/sock_map.c:446

and this task is already holding:
ffff888016eb6120 ((worker)->lock){....}-{2:2}, at: kthread_queue_work+0x27/0x180 kernel/kthread.c:1019
which would create a new lock dependency:
 ((worker)->lock){....}-{2:2} -> (&stab->lock){+...}-{2:2}

but this new dependency connects a HARDIRQ-irq-safe lock:
 (&pool->lock){-.-.}-{2:2}

... which became HARDIRQ-irq-safe at:
  lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
  __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
  _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
  wq_worker_tick+0x207/0x440 kernel/workqueue.c:1501
  scheduler_tick+0x375/0x6e0 kernel/sched/core.c:5699
  update_process_times+0x202/0x230 kernel/time/timer.c:2481
  tick_periodic+0x190/0x220 kernel/time/tick-common.c:100
  tick_handle_periodic+0x4a/0x160 kernel/time/tick-common.c:112
  local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1032 [inline]
  __sysvec_apic_timer_interrupt+0x107/0x3a0 arch/x86/kernel/apic/apic.c:1049
  instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
  sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1043
  asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
  preempt_count arch/x86/include/asm/preempt.h:26 [inline]
  check_kcov_mode kernel/kcov.c:173 [inline]
  __sanitizer_cov_trace_pc+0x18/0x70 kernel/kcov.c:207
  unwind_next_frame+0x27/0x2a00 arch/x86/kernel/unwind_orc.c:469
  arch_stack_walk+0x151/0x1b0 arch/x86/kernel/stacktrace.c:25
  stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
  save_stack+0xfb/0x1f0 mm/page_owner.c:129
  __set_page_owner+0x29/0x380 mm/page_owner.c:195
  set_page_owner include/linux/page_owner.h:31 [inline]
  post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533
  prep_new_page mm/page_alloc.c:1540 [inline]
  get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311
  __alloc_pages+0x256/0x680 mm/page_alloc.c:4569
  alloc_pages_mpol+0x3de/0x650 mm/mempolicy.c:2133
  vm_area_alloc_pages mm/vmalloc.c:3135 [inline]
  __vmalloc_area_node mm/vmalloc.c:3211 [inline]
  __vmalloc_node_range+0x9a4/0x14a0 mm/vmalloc.c:3392
  __vmalloc_node mm/vmalloc.c:3457 [inline]
  __vmalloc+0x79/0x90 mm/vmalloc.c:3471
  pcpu_mem_zalloc mm/percpu.c:512 [inline]
  pcpu_alloc_chunk mm/percpu.c:1469 [inline]
  pcpu_create_chunk+0x31e/0xbc0 mm/percpu-vm.c:338
  pcpu_balance_populated mm/percpu.c:2101 [inline]
  pcpu_balance_workfn+0xc4d/0xd40 mm/percpu.c:2238
  process_one_work kernel/workqueue.c:3254 [inline]
  process_scheduled_works+0xa00/0x1770 kernel/workqueue.c:3335
  worker_thread+0x86d/0xd70 kernel/workqueue.c:3416
  kthread+0x2f0/0x390 kernel/kthread.c:388
  ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243

to a HARDIRQ-irq-unsafe lock:
 (&stab->lock){+...}-{2:2}

... which became HARDIRQ-irq-unsafe at:
...
  lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
  __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
  _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
  spin_lock_bh include/linux/spinlock.h:356 [inline]
  sock_map_update_common+0x1b6/0x5b0 net/core/sock_map.c:490
  sock_map_update_elem_sys+0x55f/0x910 net/core/sock_map.c:579
  map_update_elem+0x53a/0x6f0 kernel/bpf/syscall.c:1641
  __sys_bpf+0x76f/0x810 kernel/bpf/syscall.c:5619
  __do_sys_bpf kernel/bpf/syscall.c:5738 [inline]
  __se_sys_bpf kernel/bpf/syscall.c:5736 [inline]
  __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5736
  do_syscall_64+0xfb/0x240
  entry_SYSCALL_64_after_hwframe+0x6d/0x75

other info that might help us debug this:

Chain exists of:
  &pool->lock --> (worker)->lock --> &stab->lock

 Possible interrupt unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(&stab->lock);
                               local_irq_disable();
                               lock(&pool->lock);
                               lock((worker)->lock);
  <Interrupt>
    lock(&pool->lock);

 *** DEADLOCK ***

6 locks held by kworker/1:4/5093:
 #0: ffff888014c78948 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3229 [inline]
 #0: ffff888014c78948 ((wq_completion)events){+.+.}-{0:0}, at: process_scheduled_works+0x8e0/0x1770 kernel/workqueue.c:3335
 #1: ffffc90003b4fd00 ((linkwatch_work).work){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3230 [inline]
 #1: ffffc90003b4fd00 ((linkwatch_work).work){+.+.}-{0:0}, at: process_scheduled_works+0x91b/0x1770 kernel/workqueue.c:3335
 #2: ffffffff8f385a08 (rtnl_mutex){+.+.}-{3:3}, at: linkwatch_event+0xe/0x60 net/core/link_watch.c:276
 #3: ffffffff8e136cb8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:323 [inline]
 #3: ffffffff8e136cb8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x463/0x820 kernel/rcu/tree_exp.h:939
 #4: ffff888016eb6120 ((worker)->lock){....}-{2:2}, at: kthread_queue_work+0x27/0x180 kernel/kthread.c:1019
 #5: ffffffff8e131920 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline]
 #5: ffffffff8e131920 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline]
 #5: ffffffff8e131920 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2380 [inline]
 #5: ffffffff8e131920 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run2+0x114/0x420 kernel/trace/bpf_trace.c:2420

the dependencies between HARDIRQ-irq-safe lock and the holding lock:
 -> (&pool->lock){-.-.}-{2:2} {
    IN-HARDIRQ-W at:
                      lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                      __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
                      _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
                      wq_worker_tick+0x207/0x440 kernel/workqueue.c:1501
                      scheduler_tick+0x375/0x6e0 kernel/sched/core.c:5699
                      update_process_times+0x202/0x230 kernel/time/timer.c:2481
                      tick_periodic+0x190/0x220 kernel/time/tick-common.c:100
                      tick_handle_periodic+0x4a/0x160 kernel/time/tick-common.c:112
                      local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1032 [inline]
                      __sysvec_apic_timer_interrupt+0x107/0x3a0 arch/x86/kernel/apic/apic.c:1049
                      instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
                      sysvec_apic_timer_interrupt+0xa1/0xc0 arch/x86/kernel/apic/apic.c:1043
                      asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
                      preempt_count arch/x86/include/asm/preempt.h:26 [inline]
                      check_kcov_mode kernel/kcov.c:173 [inline]
                      __sanitizer_cov_trace_pc+0x18/0x70 kernel/kcov.c:207
                      unwind_next_frame+0x27/0x2a00 arch/x86/kernel/unwind_orc.c:469
                      arch_stack_walk+0x151/0x1b0 arch/x86/kernel/stacktrace.c:25
                      stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
                      save_stack+0xfb/0x1f0 mm/page_owner.c:129
                      __set_page_owner+0x29/0x380 mm/page_owner.c:195
                      set_page_owner include/linux/page_owner.h:31 [inline]
                      post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533
                      prep_new_page mm/page_alloc.c:1540 [inline]
                      get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311
                      __alloc_pages+0x256/0x680 mm/page_alloc.c:4569
                      alloc_pages_mpol+0x3de/0x650 mm/mempolicy.c:2133
                      vm_area_alloc_pages mm/vmalloc.c:3135 [inline]
                      __vmalloc_area_node mm/vmalloc.c:3211 [inline]
                      __vmalloc_node_range+0x9a4/0x14a0 mm/vmalloc.c:3392
                      __vmalloc_node mm/vmalloc.c:3457 [inline]
                      __vmalloc+0x79/0x90 mm/vmalloc.c:3471
                      pcpu_mem_zalloc mm/percpu.c:512 [inline]
                      pcpu_alloc_chunk mm/percpu.c:1469 [inline]
                      pcpu_create_chunk+0x31e/0xbc0 mm/percpu-vm.c:338
                      pcpu_balance_populated mm/percpu.c:2101 [inline]
                      pcpu_balance_workfn+0xc4d/0xd40 mm/percpu.c:2238
                      process_one_work kernel/workqueue.c:3254 [inline]
                      process_scheduled_works+0xa00/0x1770 kernel/workqueue.c:3335
                      worker_thread+0x86d/0xd70 kernel/workqueue.c:3416
                      kthread+0x2f0/0x390 kernel/kthread.c:388
                      ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
                      ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
    IN-SOFTIRQ-W at:
                      lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                      __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
                      _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
                      __queue_work+0x6ec/0xec0
                      call_timer_fn+0x17e/0x600 kernel/time/timer.c:1792
                      expire_timers kernel/time/timer.c:1838 [inline]
                      __run_timers kernel/time/timer.c:2408 [inline]
                      __run_timer_base+0x695/0x8e0 kernel/time/timer.c:2419
                      run_timer_base kernel/time/timer.c:2428 [inline]
                      run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2438
                      __do_softirq+0x2bc/0x943 kernel/softirq.c:554
                      invoke_softirq kernel/softirq.c:428 [inline]
                      __irq_exit_rcu+0xf2/0x1c0 kernel/softirq.c:633
                      irq_exit_rcu+0x9/0x30 kernel/softirq.c:645
                      instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
                      sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1043
                      asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
                      native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline]
                      arch_safe_halt arch/x86/include/asm/irqflags.h:86 [inline]
                      default_idle+0x13/0x20 arch/x86/kernel/process.c:742
                      default_idle_call+0x74/0xb0 kernel/sched/idle.c:117
                      cpuidle_idle_call kernel/sched/idle.c:191 [inline]
                      do_idle+0x22f/0x5d0 kernel/sched/idle.c:332
                      cpu_startup_entry+0x42/0x60 kernel/sched/idle.c:430
                      rest_init+0x2e0/0x300 init/main.c:730
                      arch_call_rest_init+0xe/0x10 init/main.c:831
                      start_kernel+0x47a/0x500 init/main.c:1077
                      x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:509
                      x86_64_start_kernel+0x99/0xa0 arch/x86/kernel/head64.c:490
                      common_startup_64+0x13e/0x147
    INITIAL USE at:
                     lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                     __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
                     _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
                     __queue_work+0x6ec/0xec0
                     queue_work_on+0x14f/0x250 kernel/workqueue.c:2435
                     queue_work include/linux/workqueue.h:605 [inline]
                     start_poll_synchronize_rcu_expedited+0xf7/0x150 kernel/rcu/tree_exp.h:1017
                     rcu_init+0xea/0x140 kernel/rcu/tree.c:5240
                     start_kernel+0x1f7/0x500 init/main.c:969
                     x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:509
                     x86_64_start_kernel+0x99/0xa0 arch/x86/kernel/head64.c:490
                     common_startup_64+0x13e/0x147
  }
  ... key      at: [<ffffffff926c0e60>] init_worker_pool.__key+0x0/0x20
-> ((worker)->lock){....}-{2:2} {
   INITIAL USE at:
                   lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                   __raw_spin_lock_irq include/linux/spinlock_api_smp.h:119 [inline]
                   _raw_spin_lock_irq+0xd3/0x120 kernel/locking/spinlock.c:170
                   kthread_worker_fn+0x236/0xab0 kernel/kthread.c:828
                   kthread+0x2f0/0x390 kernel/kthread.c:388
                   ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
                   ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
 }
 ... key      at: [<ffffffff926c1120>] __kthread_create_worker.__key+0x0/0x20
 ... acquired at:
   lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
   __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
   _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
   kthread_queue_work+0x27/0x180 kernel/kthread.c:1019
   put_pwq kernel/workqueue.c:1642 [inline]
   put_pwq_unlocked+0x12a/0x190 kernel/workqueue.c:1659
   apply_wqattrs_cleanup kernel/workqueue.c:5098 [inline]
   apply_workqueue_attrs_locked+0x132/0x210 kernel/workqueue.c:5219
   apply_workqueue_attrs+0x30/0x50 kernel/workqueue.c:5249
   padata_setup_cpumasks kernel/padata.c:435 [inline]
   padata_alloc+0x22b/0x370 kernel/padata.c:1014
   pcrypt_init_padata+0x27/0x100 crypto/pcrypt.c:327
   pcrypt_init+0x65/0xe0 crypto/pcrypt.c:352
   do_one_initcall+0x238/0x830 init/main.c:1241
   do_initcall_level+0x157/0x210 init/main.c:1303
   do_initcalls+0x3f/0x80 init/main.c:1319
   kernel_init_freeable+0x435/0x5d0 init/main.c:1557
   kernel_init+0x1d/0x2a0 init/main.c:1446
   ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
   ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243


the dependencies between the lock to be acquired
 and HARDIRQ-irq-unsafe lock:
-> (&stab->lock){+...}-{2:2} {
   HARDIRQ-ON-W at:
                    lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                    __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
                    _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
                    spin_lock_bh include/linux/spinlock.h:356 [inline]
                    sock_map_update_common+0x1b6/0x5b0 net/core/sock_map.c:490
                    sock_map_update_elem_sys+0x55f/0x910 net/core/sock_map.c:579
                    map_update_elem+0x53a/0x6f0 kernel/bpf/syscall.c:1641
                    __sys_bpf+0x76f/0x810 kernel/bpf/syscall.c:5619
                    __do_sys_bpf kernel/bpf/syscall.c:5738 [inline]
                    __se_sys_bpf kernel/bpf/syscall.c:5736 [inline]
                    __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5736
                    do_syscall_64+0xfb/0x240
                    entry_SYSCALL_64_after_hwframe+0x6d/0x75
   INITIAL USE at:
                   lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
                   __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
                   _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
                   spin_lock_bh include/linux/spinlock.h:356 [inline]
                   sock_map_update_common+0x1b6/0x5b0 net/core/sock_map.c:490
                   sock_map_update_elem_sys+0x55f/0x910 net/core/sock_map.c:579
                   map_update_elem+0x53a/0x6f0 kernel/bpf/syscall.c:1641
                   __sys_bpf+0x76f/0x810 kernel/bpf/syscall.c:5619
                   __do_sys_bpf kernel/bpf/syscall.c:5738 [inline]
                   __se_sys_bpf kernel/bpf/syscall.c:5736 [inline]
                   __x64_sys_bpf+0x7c/0x90 kernel/bpf/syscall.c:5736
                   do_syscall_64+0xfb/0x240
                   entry_SYSCALL_64_after_hwframe+0x6d/0x75
 }
 ... key      at: [<ffffffff948822e0>] sock_map_alloc.__key+0x0/0x20
 ... acquired at:
   lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
   __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
   _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
   spin_lock_bh include/linux/spinlock.h:356 [inline]
   __sock_map_delete net/core/sock_map.c:414 [inline]
   sock_map_delete_elem+0x97/0x140 net/core/sock_map.c:446
   bpf_prog_d247abf228e51871+0x69/0x6d
   bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
   __bpf_prog_run include/linux/filter.h:657 [inline]
   bpf_prog_run include/linux/filter.h:664 [inline]
   __bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline]
   bpf_trace_run2+0x204/0x420 kernel/trace/bpf_trace.c:2420
   trace_sched_kthread_work_queue_work include/trace/events/sched.h:64 [inline]
   kthread_insert_work+0x3f4/0x460 kernel/kthread.c:993
   kthread_queue_work+0xff/0x180 kernel/kthread.c:1021
   synchronize_rcu_expedited_queue_work kernel/rcu/tree_exp.h:469 [inline]
   synchronize_rcu_expedited+0x593/0x820 kernel/rcu/tree_exp.h:949
   dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1361
   dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1387
   linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175
   __linkwatch_run_queue+0x44f/0x6c0 net/core/link_watch.c:234
   linkwatch_event+0x4c/0x60 net/core/link_watch.c:277
   process_one_work kernel/workqueue.c:3254 [inline]
   process_scheduled_works+0xa00/0x1770 kernel/workqueue.c:3335
   worker_thread+0x86d/0xd70 kernel/workqueue.c:3416
   kthread+0x2f0/0x390 kernel/kthread.c:388
   ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
   ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243


stack backtrace:
CPU: 1 PID: 5093 Comm: kworker/1:4 Not tainted 6.8.0-syzkaller-05271-gf99c5f563c17 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: events linkwatch_event
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106
 print_bad_irq_dependency kernel/locking/lockdep.c:2626 [inline]
 check_irq_usage kernel/locking/lockdep.c:2865 [inline]
 check_prev_add kernel/locking/lockdep.c:3138 [inline]
 check_prevs_add kernel/locking/lockdep.c:3253 [inline]
 validate_chain+0x4dc7/0x58e0 kernel/locking/lockdep.c:3869
 __lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
 lock_acquire+0x1e4/0x530 kernel/locking/lockdep.c:5754
 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline]
 _raw_spin_lock_bh+0x35/0x50 kernel/locking/spinlock.c:178
 spin_lock_bh include/linux/spinlock.h:356 [inline]
 __sock_map_delete net/core/sock_map.c:414 [inline]
 sock_map_delete_elem+0x97/0x140 net/core/sock_map.c:446
 bpf_prog_d247abf228e51871+0x69/0x6d
 bpf_dispatcher_nop_func include/linux/bpf.h:1234 [inline]
 __bpf_prog_run include/linux/filter.h:657 [inline]
 bpf_prog_run include/linux/filter.h:664 [inline]
 __bpf_trace_run kernel/trace/bpf_trace.c:2381 [inline]
 bpf_trace_run2+0x204/0x420 kernel/trace/bpf_trace.c:2420
 trace_sched_kthread_work_queue_work include/trace/events/sched.h:64 [inline]
 kthread_insert_work+0x3f4/0x460 kernel/kthread.c:993
 kthread_queue_work+0xff/0x180 kernel/kthread.c:1021
 synchronize_rcu_expedited_queue_work kernel/rcu/tree_exp.h:469 [inline]
 synchronize_rcu_expedited+0x593/0x820 kernel/rcu/tree_exp.h:949
 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1361
 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1387
 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175
 __linkwatch_run_queue+0x44f/0x6c0 net/core/link_watch.c:234
 linkwatch_event+0x4c/0x60 net/core/link_watch.c:277
 process_one_work kernel/workqueue.c:3254 [inline]
 process_scheduled_works+0xa00/0x1770 kernel/workqueue.c:3335
 worker_thread+0x86d/0xd70 kernel/workqueue.c:3416
 kthread+0x2f0/0x390 kernel/kthread.c:388
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
 </TASK>
------------[ cut here ]------------
raw_local_irq_restore() called with IRQs enabled
WARNING: CPU: 1 PID: 5093 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x29/0x40 kernel/locking/irqflag-debug.c:10
Modules linked in:
CPU: 1 PID: 5093 Comm: kworker/1:4 Not tainted 6.8.0-syzkaller-05271-gf99c5f563c17 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: events linkwatch_event
RIP: 0010:warn_bogus_irq_restore+0x29/0x40 kernel/locking/irqflag-debug.c:10
Code: 90 f3 0f 1e fa 90 80 3d de 69 01 04 00 74 06 90 c3 cc cc cc cc c6 05 cf 69 01 04 01 90 48 c7 c7 20 ba aa 8b e8 f8 e5 e7 f5 90 <0f> 0b 90 90 90 c3 cc cc cc cc 66 2e 0f 1f 84 00 00 00 00 00 0f 1f
RSP: 0018:ffffc90003b4f638 EFLAGS: 00010246
RAX: 944f111d778d8700 RBX: 1ffff92000769ecc RCX: ffff888011081e00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc90003b4f6d0 R08: ffffffff8157cc12 R09: 1ffff92000769e1c
R10: dffffc0000000000 R11: fffff52000769e1d R12: dffffc0000000000
R13: 1ffff92000769ec8 R14: ffffc90003b4f660 R15: 0000000000000246
FS:  0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b30d22000 CR3: 000000001ff5a000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
 _raw_spin_unlock_irqrestore+0x120/0x140 kernel/locking/spinlock.c:194
 kthread_queue_work+0x110/0x180 kernel/kthread.c:1024
 synchronize_rcu_expedited_queue_work kernel/rcu/tree_exp.h:469 [inline]
 synchronize_rcu_expedited+0x593/0x820 kernel/rcu/tree_exp.h:949
 dev_deactivate_many+0x4a7/0xb10 net/sched/sch_generic.c:1361
 dev_deactivate+0x184/0x280 net/sched/sch_generic.c:1387
 linkwatch_do_dev+0x10a/0x170 net/core/link_watch.c:175
 __linkwatch_run_queue+0x44f/0x6c0 net/core/link_watch.c:234
 linkwatch_event+0x4c/0x60 net/core/link_watch.c:277
 process_one_work kernel/workqueue.c:3254 [inline]
 process_scheduled_works+0xa00/0x1770 kernel/workqueue.c:3335
 worker_thread+0x86d/0xd70 kernel/workqueue.c:3416
 kthread+0x2f0/0x390 kernel/kthread.c:388
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
 </TASK>