===================================================== WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 6.9.0-rc1-syzkaller-00021-g962490525cff #0 Not tainted ----------------------------------------------------- sshd/5185 [HC0[0]:SC0[4]:HE0:SE0] is trying to acquire: ffff88802b382200 (&stab->lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff88802b382200 (&stab->lock){+.-.}-{2:2}, at: __sock_map_delete net/core/sock_map.c:414 [inline] ffff88802b382200 (&stab->lock){+.-.}-{2:2}, at: sock_map_delete_elem+0xc8/0x150 net/core/sock_map.c:446 and this task is already holding: ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: __iova_rcache_get drivers/iommu/iova.c:834 [inline] ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: iova_rcache_get drivers/iommu/iova.c:865 [inline] ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: alloc_iova_fast+0x6f3/0xa30 drivers/iommu/iova.c:391 which would create a new lock dependency: (&rcache->lock){..-.}-{2:2} -> (&stab->lock){+.-.}-{2:2} but this new dependency connects a HARDIRQ-irq-safe lock: (&host->lock){-.-.}-{2:2} ... which became HARDIRQ-irq-safe at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] ahci_single_level_irq_intr+0xc7/0x120 drivers/ata/libahci.c:2022 __handle_irq_event_percpu+0x229/0x7c0 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0xab/0x1e0 kernel/irq/handle.c:210 handle_edge_irq+0x263/0xd10 kernel/irq/chip.c:831 generic_handle_irq_desc include/linux/irqdesc.h:161 [inline] handle_irq arch/x86/kernel/irq.c:238 [inline] __common_interrupt+0xde/0x250 arch/x86/kernel/irq.c:257 common_interrupt+0xab/0xd0 arch/x86/kernel/irq.c:247 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:86 [inline] default_idle+0xf/0x20 arch/x86/kernel/process.c:742 default_idle_call+0x6d/0xb0 kernel/sched/idle.c:117 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x32c/0x3f0 kernel/sched/idle.c:332 cpu_startup_entry+0x4f/0x60 kernel/sched/idle.c:430 start_secondary+0x220/0x2b0 arch/x86/kernel/smpboot.c:313 common_startup_64+0x13e/0x148 to a HARDIRQ-irq-unsafe lock: (&stab->lock){+.-.}-{2:2} ... which became HARDIRQ-irq-unsafe at: ... lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 rcu_do_batch kernel/rcu/tree.c:2196 [inline] rcu_core+0x828/0x16b0 kernel/rcu/tree.c:2471 __do_softirq+0x218/0x922 kernel/softirq.c:554 do_softirq kernel/softirq.c:455 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:442 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] ip6t_do_table+0xd2d/0x1d40 net/ipv6/netfilter/ip6_tables.c:375 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:626 nf_hook.constprop.0+0x31e/0x5e0 include/linux/netfilter.h:269 NF_HOOK include/linux/netfilter.h:312 [inline] mld_sendpack+0x6cd/0x11d0 net/ipv6/mcast.c:1818 mld_send_cr net/ipv6/mcast.c:2119 [inline] mld_ifc_work+0x756/0xce0 net/ipv6/mcast.c:2650 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 other info that might help us debug this: Chain exists of: &host->lock --> &rcache->lock --> &stab->lock Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&stab->lock); local_irq_disable(); lock(&host->lock); lock(&rcache->lock); lock(&host->lock); *** DEADLOCK *** 9 locks held by sshd/5185: #0: ffff88802d49cbd8 (sk_lock-AF_INET){+.+.}-{0:0}, at: lock_sock include/net/sock.h:1671 [inline] #0: ffff88802d49cbd8 (sk_lock-AF_INET){+.+.}-{0:0}, at: tcp_sendmsg+0x20/0x50 net/ipv4/tcp.c:1341 #1: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline] #1: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline] #1: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x72/0x1940 net/ipv4/ip_output.c:470 #2: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline] #2: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline] #2: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x364/0x25e0 net/ipv4/ip_output.c:228 #3: ffffffff8dbb1440 (rcu_read_lock_bh){....}-{1:2}, at: local_bh_disable include/linux/bottom_half.h:20 [inline] #3: ffffffff8dbb1440 (rcu_read_lock_bh){....}-{1:2}, at: rcu_read_lock_bh include/linux/rcupdate.h:833 [inline] #3: ffffffff8dbb1440 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x244/0x3f20 net/core/dev.c:4260 #4: ffff888024055258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+...}-{2:2}, at: spin_trylock include/linux/spinlock.h:361 [inline] #4: ffff888024055258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+...}-{2:2}, at: qdisc_run_begin include/net/sch_generic.h:195 [inline] #4: ffff888024055258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+...}-{2:2}, at: qdisc_run_begin include/net/sch_generic.h:192 [inline] #4: ffff888024055258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+...}-{2:2}, at: __dev_xmit_skb net/core/dev.c:3747 [inline] #4: ffff888024055258 (dev->qdisc_tx_busylock ?: &qdisc_tx_busylock){+...}-{2:2}, at: __dev_queue_xmit+0x109f/0x3f20 net/core/dev.c:4301 #5: ffff88801ae8acd8 (_xmit_ETHER#2){+.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #5: ffff88801ae8acd8 (_xmit_ETHER#2){+.-.}-{2:2}, at: __netif_tx_lock include/linux/netdevice.h:4371 [inline] #5: ffff88801ae8acd8 (_xmit_ETHER#2){+.-.}-{2:2}, at: sch_direct_xmit+0x337/0xc20 net/sched/sch_generic.c:341 #6: ffffe8fefd0104d8 (&cpu_rcache->lock){..-.}-{2:2}, at: __iova_rcache_get drivers/iommu/iova.c:826 [inline] #6: ffffe8fefd0104d8 (&cpu_rcache->lock){..-.}-{2:2}, at: iova_rcache_get drivers/iommu/iova.c:865 [inline] #6: ffffe8fefd0104d8 (&cpu_rcache->lock){..-.}-{2:2}, at: alloc_iova_fast+0xfa/0xa30 drivers/iommu/iova.c:391 #7: ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline] #7: ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: __iova_rcache_get drivers/iommu/iova.c:834 [inline] #7: ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: iova_rcache_get drivers/iommu/iova.c:865 [inline] #7: ffff88801bd19018 (&rcache->lock){..-.}-{2:2}, at: alloc_iova_fast+0x6f3/0xa30 drivers/iommu/iova.c:391 #8: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline] #8: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline] #8: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2380 [inline] #8: ffffffff8dbb14a0 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run3+0xf8/0x440 kernel/trace/bpf_trace.c:2421 the dependencies between HARDIRQ-irq-safe lock and the holding lock: -> (&host->lock){-.-.}-{2:2} { IN-HARDIRQ-W at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] ahci_single_level_irq_intr+0xc7/0x120 drivers/ata/libahci.c:2022 __handle_irq_event_percpu+0x229/0x7c0 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0xab/0x1e0 kernel/irq/handle.c:210 handle_edge_irq+0x263/0xd10 kernel/irq/chip.c:831 generic_handle_irq_desc include/linux/irqdesc.h:161 [inline] handle_irq arch/x86/kernel/irq.c:238 [inline] __common_interrupt+0xde/0x250 arch/x86/kernel/irq.c:257 common_interrupt+0xab/0xd0 arch/x86/kernel/irq.c:247 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:86 [inline] default_idle+0xf/0x20 arch/x86/kernel/process.c:742 default_idle_call+0x6d/0xb0 kernel/sched/idle.c:117 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x32c/0x3f0 kernel/sched/idle.c:332 cpu_startup_entry+0x4f/0x60 kernel/sched/idle.c:430 start_secondary+0x220/0x2b0 arch/x86/kernel/smpboot.c:313 common_startup_64+0x13e/0x148 IN-SOFTIRQ-W at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] ahci_single_level_irq_intr+0xc7/0x120 drivers/ata/libahci.c:2022 __handle_irq_event_percpu+0x229/0x7c0 kernel/irq/handle.c:158 handle_irq_event_percpu kernel/irq/handle.c:193 [inline] handle_irq_event+0xab/0x1e0 kernel/irq/handle.c:210 handle_edge_irq+0x263/0xd10 kernel/irq/chip.c:831 generic_handle_irq_desc include/linux/irqdesc.h:161 [inline] handle_irq arch/x86/kernel/irq.c:238 [inline] __common_interrupt+0xde/0x250 arch/x86/kernel/irq.c:257 common_interrupt+0x52/0xd0 arch/x86/kernel/irq.c:247 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 variable_ffs arch/x86/include/asm/bitops.h:321 [inline] __do_softirq+0x1dc/0x922 kernel/softirq.c:542 invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu kernel/softirq.c:633 [inline] irq_exit_rcu+0xb9/0x120 kernel/softirq.c:645 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0x95/0xb0 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 console_flush_all+0xa19/0xd70 kernel/printk/printk.c:2985 console_unlock+0xae/0x290 kernel/printk/printk.c:3048 vprintk_emit kernel/printk/printk.c:2348 [inline] vprintk_emit+0x11a/0x5a0 kernel/printk/printk.c:2303 dev_vprintk_emit drivers/base/core.c:4930 [inline] dev_printk_emit+0xfb/0x140 drivers/base/core.c:4941 __dev_printk+0xf5/0x270 drivers/base/core.c:4953 _dev_printk+0xde/0x120 drivers/base/core.c:4970 sdev_prefix_printk+0x1a2/0x230 drivers/scsi/scsi_logging.c:78 sd_print_capacity drivers/scsi/sd.c:2824 [inline] sd_revalidate_disk.isra.0+0x2988/0x9d10 drivers/scsi/sd.c:3653 sd_probe+0x8ef/0xfe0 drivers/scsi/sd.c:3907 call_driver_probe drivers/base/dd.c:578 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:656 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:798 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:828 __device_attach_driver+0x1df/0x310 drivers/base/dd.c:956 bus_for_each_drv+0x157/0x1e0 drivers/base/bus.c:457 __device_attach_async_helper+0x1d3/0x290 drivers/base/dd.c:985 async_run_entry_fn+0x9c/0x530 kernel/async.c:129 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162 ata_dev_init+0x1b4/0x410 drivers/ata/libata-core.c:5399 ata_link_init+0x19c/0x300 drivers/ata/libata-core.c:5444 ata_port_alloc+0x4a1/0x590 drivers/ata/libata-core.c:5519 ata_host_alloc+0x21c/0x2c0 drivers/ata/libata-core.c:5631 ata_host_alloc_pinfo+0x2b/0x3f0 drivers/ata/libata-core.c:5674 ahci_init_one+0x132a/0x2de0 drivers/ata/ahci.c:1885 local_pci_probe+0xde/0x1b0 drivers/pci/pci-driver.c:324 pci_call_probe drivers/pci/pci-driver.c:392 [inline] __pci_device_probe drivers/pci/pci-driver.c:417 [inline] pci_device_probe+0x29d/0x7b0 drivers/pci/pci-driver.c:451 call_driver_probe drivers/base/dd.c:578 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:656 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:798 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:828 __driver_attach+0x283/0x580 drivers/base/dd.c:1214 bus_for_each_dev+0x13c/0x1d0 drivers/base/bus.c:368 bus_add_driver+0x2ed/0x640 drivers/base/bus.c:673 driver_register+0x15c/0x4b0 drivers/base/driver.c:246 do_one_initcall+0x128/0x700 init/main.c:1238 do_initcall_level init/main.c:1300 [inline] do_initcalls init/main.c:1316 [inline] do_basic_setup init/main.c:1335 [inline] kernel_init_freeable+0x69d/0xca0 init/main.c:1548 kernel_init+0x1c/0x2b0 init/main.c:1437 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 } ... key at: [] __key.5+0x0/0x40 -> (&cpu_rcache->lock){..-.}-{2:2} { IN-SOFTIRQ-W at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162 __iova_rcache_insert drivers/iommu/iova.c:772 [inline] iova_rcache_insert drivers/iommu/iova.c:809 [inline] free_iova_fast+0xd1/0x4a0 drivers/iommu/iova.c:426 fq_ring_free_locked+0x1ab/0x310 drivers/iommu/dma-iommu.c:160 fq_ring_free drivers/iommu/dma-iommu.c:173 [inline] fq_flush_timeout+0x199/0x2e0 drivers/iommu/dma-iommu.c:196 call_timer_fn+0x1a0/0x610 kernel/time/timer.c:1793 expire_timers kernel/time/timer.c:1844 [inline] __run_timers+0x74b/0xaf0 kernel/time/timer.c:2418 __run_timer_base kernel/time/timer.c:2429 [inline] __run_timer_base kernel/time/timer.c:2422 [inline] run_timer_base+0x111/0x190 kernel/time/timer.c:2438 run_timer_softirq+0x1a/0x40 kernel/time/timer.c:2448 __do_softirq+0x218/0x922 kernel/softirq.c:554 invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu kernel/softirq.c:633 [inline] irq_exit_rcu+0xb9/0x120 kernel/softirq.c:645 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline] sysvec_apic_timer_interrupt+0x95/0xb0 arch/x86/kernel/apic/apic.c:1043 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702 console_flush_all+0xa19/0xd70 kernel/printk/printk.c:2985 console_unlock+0xae/0x290 kernel/printk/printk.c:3048 vprintk_emit kernel/printk/printk.c:2348 [inline] vprintk_emit+0x11a/0x5a0 kernel/printk/printk.c:2303 vprintk+0x7f/0xa0 kernel/printk/printk_safe.c:45 _printk+0xc8/0x100 kernel/printk/printk.c:2373 sata_print_link_status drivers/ata/libata-core.c:3220 [inline] ata_std_postreset+0x527/0x610 drivers/ata/libata-core.c:3855 ahci_postreset+0xe8/0x1c0 drivers/ata/libahci.c:1636 ata_eh_reset+0x101c/0x4230 drivers/ata/libata-eh.c:2824 ata_eh_recover+0x952/0x3ea0 drivers/ata/libata-eh.c:3747 sata_pmp_eh_recover drivers/ata/libata-pmp.c:936 [inline] sata_pmp_error_handler+0xe17/0x2a50 drivers/ata/libata-pmp.c:1099 ahci_error_handler+0x10c/0x1e0 drivers/ata/libahci.c:2226 ata_scsi_port_error_handler+0x92d/0x1aa0 drivers/ata/libata-eh.c:728 ata_scsi_error+0x1eb/0x300 drivers/ata/libata-eh.c:572 scsi_error_handler+0x2ff/0x1650 drivers/scsi/scsi_error.c:2338 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162 __iova_rcache_get drivers/iommu/iova.c:826 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0xfa/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x2e6/0x450 drivers/iommu/dma-iommu.c:795 __iommu_dma_alloc_noncontiguous.constprop.0+0x498/0x9c0 drivers/iommu/dma-iommu.c:978 iommu_dma_alloc_remap drivers/iommu/dma-iommu.c:1026 [inline] iommu_dma_alloc+0x3ce/0x5f0 drivers/iommu/dma-iommu.c:1621 dma_alloc_attrs+0x25a/0x2a0 kernel/dma/mapping.c:522 dmam_alloc_attrs+0x67/0x180 kernel/dma/mapping.c:99 dmam_alloc_coherent include/linux/dma-mapping.h:553 [inline] ahci_port_start+0x415/0x920 drivers/ata/libahci.c:2530 ata_host_start+0x36b/0x730 drivers/ata/libata-core.c:5819 ata_host_activate+0x2f/0x3c0 drivers/ata/libata-core.c:6039 ahci_host_activate+0x3fc/0x570 drivers/ata/libahci.c:2768 ahci_init_one+0x2485/0x2de0 drivers/ata/ahci.c:1953 local_pci_probe+0xde/0x1b0 drivers/pci/pci-driver.c:324 pci_call_probe drivers/pci/pci-driver.c:392 [inline] __pci_device_probe drivers/pci/pci-driver.c:417 [inline] pci_device_probe+0x29d/0x7b0 drivers/pci/pci-driver.c:451 call_driver_probe drivers/base/dd.c:578 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:656 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:798 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:828 __driver_attach+0x283/0x580 drivers/base/dd.c:1214 bus_for_each_dev+0x13c/0x1d0 drivers/base/bus.c:368 bus_add_driver+0x2ed/0x640 drivers/base/bus.c:673 driver_register+0x15c/0x4b0 drivers/base/driver.c:246 do_one_initcall+0x128/0x700 init/main.c:1238 do_initcall_level init/main.c:1300 [inline] do_initcalls init/main.c:1316 [inline] do_basic_setup init/main.c:1335 [inline] kernel_init_freeable+0x69d/0xca0 init/main.c:1548 kernel_init+0x1c/0x2b0 init/main.c:1437 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 } ... key at: [] __key.0+0x0/0x40 ... acquired at: __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x3a/0x60 kernel/locking/spinlock.c:162 __iova_rcache_get drivers/iommu/iova.c:826 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0xfa/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x2e6/0x450 drivers/iommu/dma-iommu.c:795 iommu_dma_map_sg+0x765/0xc80 drivers/iommu/dma-iommu.c:1444 __dma_map_sg_attrs+0xd6/0x230 kernel/dma/mapping.c:201 dma_map_sg_attrs+0x34/0x50 kernel/dma/mapping.c:236 ata_sg_setup drivers/ata/libata-core.c:4741 [inline] ata_qc_issue+0x81a/0xf50 drivers/ata/libata-core.c:5043 ata_exec_internal_sg+0xaf7/0x1880 drivers/ata/libata-core.c:1576 ata_exec_internal+0x113/0x180 drivers/ata/libata-core.c:1689 ata_do_dev_read_id drivers/ata/libata-core.c:1763 [inline] ata_dev_read_id+0xcce/0x1910 drivers/ata/libata-core.c:1836 ata_eh_revalidate_and_attach drivers/ata/libata-eh.c:3108 [inline] ata_eh_recover+0x178a/0x3ea0 drivers/ata/libata-eh.c:3817 sata_pmp_eh_recover drivers/ata/libata-pmp.c:936 [inline] sata_pmp_error_handler+0xe17/0x2a50 drivers/ata/libata-pmp.c:1099 ahci_error_handler+0x10c/0x1e0 drivers/ata/libahci.c:2226 ata_scsi_port_error_handler+0x92d/0x1aa0 drivers/ata/libata-eh.c:728 ata_scsi_error+0x1eb/0x300 drivers/ata/libata-eh.c:572 scsi_error_handler+0x2ff/0x1650 drivers/scsi/scsi_error.c:2338 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 -> (&rcache->lock){..-.}-{2:2} { IN-SOFTIRQ-W at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] __iova_rcache_get drivers/iommu/iova.c:834 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x6f3/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x1f4/0x450 drivers/iommu/dma-iommu.c:804 __iommu_dma_map+0x175/0x330 drivers/iommu/dma-iommu.c:869 iommu_dma_map_page+0x183/0x760 drivers/iommu/dma-iommu.c:1190 dma_map_page_attrs+0x148/0x7f0 kernel/dma/mapping.c:163 dma_map_single_attrs include/linux/dma-mapping.h:341 [inline] e1000_alloc_rx_buffers+0x398/0xd30 drivers/net/ethernet/intel/e1000/e1000_main.c:4612 e1000_clean_rx_irq+0xba5/0x1080 drivers/net/ethernet/intel/e1000/e1000_main.c:4480 e1000_clean+0x976/0x2840 drivers/net/ethernet/intel/e1000/e1000_main.c:3803 __napi_poll.constprop.0+0xb7/0x550 net/core/dev.c:6632 napi_poll net/core/dev.c:6701 [inline] net_rx_action+0x9ad/0xf10 net/core/dev.c:6816 __do_softirq+0x218/0x922 kernel/softirq.c:554 invoke_softirq kernel/softirq.c:428 [inline] __irq_exit_rcu kernel/softirq.c:633 [inline] irq_exit_rcu+0xb9/0x120 kernel/softirq.c:645 common_interrupt+0xb0/0xd0 arch/x86/kernel/irq.c:247 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:693 native_safe_halt arch/x86/include/asm/irqflags.h:48 [inline] arch_safe_halt arch/x86/include/asm/irqflags.h:86 [inline] default_idle+0xf/0x20 arch/x86/kernel/process.c:742 default_idle_call+0x6d/0xb0 kernel/sched/idle.c:117 cpuidle_idle_call kernel/sched/idle.c:191 [inline] do_idle+0x32c/0x3f0 kernel/sched/idle.c:332 cpu_startup_entry+0x4f/0x60 kernel/sched/idle.c:430 start_secondary+0x220/0x2b0 arch/x86/kernel/smpboot.c:313 common_startup_64+0x13e/0x148 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] __iova_rcache_get drivers/iommu/iova.c:834 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x6f3/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x2e6/0x450 drivers/iommu/dma-iommu.c:795 __iommu_dma_alloc_noncontiguous.constprop.0+0x498/0x9c0 drivers/iommu/dma-iommu.c:978 iommu_dma_alloc_remap drivers/iommu/dma-iommu.c:1026 [inline] iommu_dma_alloc+0x3ce/0x5f0 drivers/iommu/dma-iommu.c:1621 dma_alloc_attrs+0x25a/0x2a0 kernel/dma/mapping.c:522 dmam_alloc_attrs+0x67/0x180 kernel/dma/mapping.c:99 dmam_alloc_coherent include/linux/dma-mapping.h:553 [inline] ahci_port_start+0x415/0x920 drivers/ata/libahci.c:2530 ata_host_start+0x36b/0x730 drivers/ata/libata-core.c:5819 ata_host_activate+0x2f/0x3c0 drivers/ata/libata-core.c:6039 ahci_host_activate+0x3fc/0x570 drivers/ata/libahci.c:2768 ahci_init_one+0x2485/0x2de0 drivers/ata/ahci.c:1953 local_pci_probe+0xde/0x1b0 drivers/pci/pci-driver.c:324 pci_call_probe drivers/pci/pci-driver.c:392 [inline] __pci_device_probe drivers/pci/pci-driver.c:417 [inline] pci_device_probe+0x29d/0x7b0 drivers/pci/pci-driver.c:451 call_driver_probe drivers/base/dd.c:578 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:656 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:798 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:828 __driver_attach+0x283/0x580 drivers/base/dd.c:1214 bus_for_each_dev+0x13c/0x1d0 drivers/base/bus.c:368 bus_add_driver+0x2ed/0x640 drivers/base/bus.c:673 driver_register+0x15c/0x4b0 drivers/base/driver.c:246 do_one_initcall+0x128/0x700 init/main.c:1238 do_initcall_level init/main.c:1300 [inline] do_initcalls init/main.c:1316 [inline] do_basic_setup init/main.c:1335 [inline] kernel_init_freeable+0x69d/0xca0 init/main.c:1548 kernel_init+0x1c/0x2b0 init/main.c:1437 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 } ... key at: [] __key.3+0x0/0x40 ... acquired at: __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:351 [inline] __iova_rcache_get drivers/iommu/iova.c:834 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x6f3/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x2e6/0x450 drivers/iommu/dma-iommu.c:795 __iommu_dma_alloc_noncontiguous.constprop.0+0x498/0x9c0 drivers/iommu/dma-iommu.c:978 iommu_dma_alloc_remap drivers/iommu/dma-iommu.c:1026 [inline] iommu_dma_alloc+0x3ce/0x5f0 drivers/iommu/dma-iommu.c:1621 dma_alloc_attrs+0x25a/0x2a0 kernel/dma/mapping.c:522 dmam_alloc_attrs+0x67/0x180 kernel/dma/mapping.c:99 dmam_alloc_coherent include/linux/dma-mapping.h:553 [inline] ahci_port_start+0x415/0x920 drivers/ata/libahci.c:2530 ata_host_start+0x36b/0x730 drivers/ata/libata-core.c:5819 ata_host_activate+0x2f/0x3c0 drivers/ata/libata-core.c:6039 ahci_host_activate+0x3fc/0x570 drivers/ata/libahci.c:2768 ahci_init_one+0x2485/0x2de0 drivers/ata/ahci.c:1953 local_pci_probe+0xde/0x1b0 drivers/pci/pci-driver.c:324 pci_call_probe drivers/pci/pci-driver.c:392 [inline] __pci_device_probe drivers/pci/pci-driver.c:417 [inline] pci_device_probe+0x29d/0x7b0 drivers/pci/pci-driver.c:451 call_driver_probe drivers/base/dd.c:578 [inline] really_probe+0x23e/0xa90 drivers/base/dd.c:656 __driver_probe_device+0x1de/0x440 drivers/base/dd.c:798 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:828 __driver_attach+0x283/0x580 drivers/base/dd.c:1214 bus_for_each_dev+0x13c/0x1d0 drivers/base/bus.c:368 bus_add_driver+0x2ed/0x640 drivers/base/bus.c:673 driver_register+0x15c/0x4b0 drivers/base/driver.c:246 do_one_initcall+0x128/0x700 init/main.c:1238 do_initcall_level init/main.c:1300 [inline] do_initcalls init/main.c:1316 [inline] do_basic_setup init/main.c:1335 [inline] kernel_init_freeable+0x69d/0xca0 init/main.c:1548 kernel_init+0x1c/0x2b0 init/main.c:1437 ret_from_fork+0x45/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 kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 rcu_do_batch kernel/rcu/tree.c:2196 [inline] rcu_core+0x828/0x16b0 kernel/rcu/tree.c:2471 __do_softirq+0x218/0x922 kernel/softirq.c:554 do_softirq kernel/softirq.c:455 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:442 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] ip6t_do_table+0xd2d/0x1d40 net/ipv6/netfilter/ip6_tables.c:375 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:626 nf_hook.constprop.0+0x31e/0x5e0 include/linux/netfilter.h:269 NF_HOOK include/linux/netfilter.h:312 [inline] mld_sendpack+0x6cd/0x11d0 net/ipv6/mcast.c:1818 mld_send_cr net/ipv6/mcast.c:2119 [inline] mld_ifc_work+0x756/0xce0 net/ipv6/mcast.c:2650 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/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 kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 rcu_do_batch kernel/rcu/tree.c:2196 [inline] rcu_core+0x828/0x16b0 kernel/rcu/tree.c:2471 __do_softirq+0x218/0x922 kernel/softirq.c:554 do_softirq kernel/softirq.c:455 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:442 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] ip6t_do_table+0xd2d/0x1d40 net/ipv6/netfilter/ip6_tables.c:375 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:626 nf_hook.constprop.0+0x31e/0x5e0 include/linux/netfilter.h:269 NF_HOOK include/linux/netfilter.h:312 [inline] mld_sendpack+0x6cd/0x11d0 net/ipv6/mcast.c:1818 mld_send_cr net/ipv6/mcast.c:2119 [inline] mld_ifc_work+0x756/0xce0 net/ipv6/mcast.c:2650 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 INITIAL USE at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 rcu_do_batch kernel/rcu/tree.c:2196 [inline] rcu_core+0x828/0x16b0 kernel/rcu/tree.c:2471 __do_softirq+0x218/0x922 kernel/softirq.c:554 do_softirq kernel/softirq.c:455 [inline] do_softirq+0xb2/0xf0 kernel/softirq.c:442 __local_bh_enable_ip+0x100/0x120 kernel/softirq.c:382 local_bh_enable include/linux/bottom_half.h:33 [inline] ip6t_do_table+0xd2d/0x1d40 net/ipv6/netfilter/ip6_tables.c:375 nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline] nf_hook_slow+0xbb/0x200 net/netfilter/core.c:626 nf_hook.constprop.0+0x31e/0x5e0 include/linux/netfilter.h:269 NF_HOOK include/linux/netfilter.h:312 [inline] mld_sendpack+0x6cd/0x11d0 net/ipv6/mcast.c:1818 mld_send_cr net/ipv6/mcast.c:2119 [inline] mld_ifc_work+0x756/0xce0 net/ipv6/mcast.c:2650 process_one_work+0x9a9/0x1ac0 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x6c8/0xf70 kernel/workqueue.c:3416 kthread+0x2c1/0x3a0 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 } ... key at: [] __key.1+0x0/0x40 ... acquired at: lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 iova_magazine_free drivers/iommu/iova.c:613 [inline] __iova_rcache_get drivers/iommu/iova.c:836 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x74d/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x1f4/0x450 drivers/iommu/dma-iommu.c:804 __iommu_dma_map+0x175/0x330 drivers/iommu/dma-iommu.c:869 iommu_dma_map_page+0x183/0x760 drivers/iommu/dma-iommu.c:1190 dma_map_page_attrs+0x148/0x7f0 kernel/dma/mapping.c:163 skb_frag_dma_map include/linux/skbuff.h:3633 [inline] e1000_tx_map drivers/net/ethernet/intel/e1000/e1000_main.c:2928 [inline] e1000_xmit_frame+0x19e8/0x4fb0 drivers/net/ethernet/intel/e1000/e1000_main.c:3244 __netdev_start_xmit include/linux/netdevice.h:4903 [inline] netdev_start_xmit include/linux/netdevice.h:4917 [inline] xmit_one net/core/dev.c:3531 [inline] dev_hard_start_xmit+0x143/0x790 net/core/dev.c:3547 sch_direct_xmit+0x1ac/0xc20 net/sched/sch_generic.c:343 __dev_xmit_skb net/core/dev.c:3760 [inline] __dev_queue_xmit+0x12c3/0x3f20 net/core/dev.c:4301 dev_queue_xmit include/linux/netdevice.h:3091 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0x16fc/0x25e0 net/ipv4/ip_output.c:235 __ip_finish_output net/ipv4/ip_output.c:313 [inline] __ip_finish_output+0x49e/0x950 net/ipv4/ip_output.c:295 ip_finish_output+0x31/0x310 net/ipv4/ip_output.c:323 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x13b/0x2a0 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:450 [inline] ip_local_out+0x33e/0x4a0 net/ipv4/ip_output.c:129 __ip_queue_xmit+0x747/0x1940 net/ipv4/ip_output.c:535 __tcp_transmit_skb+0x29c1/0x3dc0 net/ipv4/tcp_output.c:1462 tcp_transmit_skb net/ipv4/tcp_output.c:1480 [inline] tcp_write_xmit+0xfe0/0x7ee0 net/ipv4/tcp_output.c:2792 __tcp_push_pending_frames+0xaf/0x390 net/ipv4/tcp_output.c:2977 tcp_push+0x221/0x6f0 net/ipv4/tcp.c:738 tcp_sendmsg_locked+0x27b8/0x3480 net/ipv4/tcp.c:1310 tcp_sendmsg+0x2e/0x50 net/ipv4/tcp.c:1342 inet_sendmsg+0xb9/0x140 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x4b8/0x5c0 net/socket.c:1160 call_write_iter include/linux/fs.h:2108 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0x6db/0x1100 fs/read_write.c:590 ksys_write+0x1f8/0x260 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xd2/0x260 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x6d/0x75 stack backtrace: CPU: 0 PID: 5185 Comm: sshd Not tainted 6.9.0-rc1-syzkaller-00021-g962490525cff #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114 print_bad_irq_dependency kernel/locking/lockdep.c:2626 [inline] check_irq_usage+0xe3c/0x1490 kernel/locking/lockdep.c:2865 check_prev_add kernel/locking/lockdep.c:3138 [inline] check_prevs_add kernel/locking/lockdep.c:3253 [inline] validate_chain kernel/locking/lockdep.c:3869 [inline] __lock_acquire+0x248e/0x3b30 kernel/locking/lockdep.c:5137 lock_acquire kernel/locking/lockdep.c:5754 [inline] lock_acquire+0x1b1/0x560 kernel/locking/lockdep.c:5719 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x33/0x40 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+0xc8/0x150 net/core/sock_map.c:446 ___bpf_prog_run+0x3e51/0xae80 kernel/bpf/core.c:1997 __bpf_prog_run32+0xc1/0x100 kernel/bpf/core.c:2236 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_run3+0x167/0x440 kernel/trace/bpf_trace.c:2421 trace_kmem_cache_free include/trace/events/kmem.h:114 [inline] kmem_cache_free+0x1d4/0x380 mm/slub.c:4343 iova_magazine_free drivers/iommu/iova.c:613 [inline] __iova_rcache_get drivers/iommu/iova.c:836 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x74d/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x1f4/0x450 drivers/iommu/dma-iommu.c:804 __iommu_dma_map+0x175/0x330 drivers/iommu/dma-iommu.c:869 iommu_dma_map_page+0x183/0x760 drivers/iommu/dma-iommu.c:1190 dma_map_page_attrs+0x148/0x7f0 kernel/dma/mapping.c:163 skb_frag_dma_map include/linux/skbuff.h:3633 [inline] e1000_tx_map drivers/net/ethernet/intel/e1000/e1000_main.c:2928 [inline] e1000_xmit_frame+0x19e8/0x4fb0 drivers/net/ethernet/intel/e1000/e1000_main.c:3244 __netdev_start_xmit include/linux/netdevice.h:4903 [inline] netdev_start_xmit include/linux/netdevice.h:4917 [inline] xmit_one net/core/dev.c:3531 [inline] dev_hard_start_xmit+0x143/0x790 net/core/dev.c:3547 sch_direct_xmit+0x1ac/0xc20 net/sched/sch_generic.c:343 __dev_xmit_skb net/core/dev.c:3760 [inline] __dev_queue_xmit+0x12c3/0x3f20 net/core/dev.c:4301 dev_queue_xmit include/linux/netdevice.h:3091 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0x16fc/0x25e0 net/ipv4/ip_output.c:235 __ip_finish_output net/ipv4/ip_output.c:313 [inline] __ip_finish_output+0x49e/0x950 net/ipv4/ip_output.c:295 ip_finish_output+0x31/0x310 net/ipv4/ip_output.c:323 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x13b/0x2a0 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:450 [inline] ip_local_out+0x33e/0x4a0 net/ipv4/ip_output.c:129 __ip_queue_xmit+0x747/0x1940 net/ipv4/ip_output.c:535 __tcp_transmit_skb+0x29c1/0x3dc0 net/ipv4/tcp_output.c:1462 tcp_transmit_skb net/ipv4/tcp_output.c:1480 [inline] tcp_write_xmit+0xfe0/0x7ee0 net/ipv4/tcp_output.c:2792 __tcp_push_pending_frames+0xaf/0x390 net/ipv4/tcp_output.c:2977 tcp_push+0x221/0x6f0 net/ipv4/tcp.c:738 tcp_sendmsg_locked+0x27b8/0x3480 net/ipv4/tcp.c:1310 tcp_sendmsg+0x2e/0x50 net/ipv4/tcp.c:1342 inet_sendmsg+0xb9/0x140 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x4b8/0x5c0 net/socket.c:1160 call_write_iter include/linux/fs.h:2108 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0x6db/0x1100 fs/read_write.c:590 ksys_write+0x1f8/0x260 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xd2/0x260 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x6d/0x75 RIP: 0033:0x7f8c1eb16bf2 Code: 89 c7 48 89 44 24 08 e8 7b 34 fa ff 48 8b 44 24 08 48 83 c4 28 c3 c3 64 8b 04 25 18 00 00 00 85 c0 75 20 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 6f 48 8b 15 07 a2 0d 00 f7 d8 64 89 02 48 83 RSP: 002b:00007ffc8f82cca8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000024 RCX: 00007f8c1eb16bf2 RDX: 0000000000000024 RSI: 0000563cba0b83a0 RDI: 0000000000000004 RBP: 0000563cba0a5c10 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000563ca6dddaa4 R13: 000000000000003a R14: 0000563ca6dde3e8 R15: 00007ffc8f82cd18 ------------[ cut here ]------------ raw_local_irq_restore() called with IRQs enabled WARNING: CPU: 0 PID: 5185 at kernel/locking/irqflag-debug.c:10 warn_bogus_irq_restore+0x29/0x30 kernel/locking/irqflag-debug.c:10 Modules linked in: CPU: 0 PID: 5185 Comm: sshd Not tainted 6.9.0-rc1-syzkaller-00021-g962490525cff #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 RIP: 0010:warn_bogus_irq_restore+0x29/0x30 kernel/locking/irqflag-debug.c:10 Code: 90 f3 0f 1e fa 90 80 3d 6c e3 ec 04 00 74 06 90 c3 cc cc cc cc c6 05 5d e3 ec 04 01 90 48 c7 c7 c0 c2 2c 8b e8 28 2c 72 f6 90 <0f> 0b 90 90 eb df 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffc9000368ed18 EFLAGS: 00010282 RAX: 0000000000000000 RBX: ffffe8fefd0104c0 RCX: ffffffff814fe149 RDX: ffff888027e58000 RSI: ffffffff814fe156 RDI: 0000000000000001 RBP: 0000000000000286 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 61636f6c5f776172 R12: 00000000000ffe3b R13: ffff88802468ba80 R14: ffff88801b3e8408 R15: 000000000000007e FS: 00007f8c1ef10d00(0000) GS:ffff88806b000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000c002489000 CR3: 000000002f7f6000 CR4: 0000000000350ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock_irqrestore+0x74/0x80 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] __iova_rcache_get drivers/iommu/iova.c:846 [inline] iova_rcache_get drivers/iommu/iova.c:865 [inline] alloc_iova_fast+0x37e/0xa30 drivers/iommu/iova.c:391 iommu_dma_alloc_iova+0x1f4/0x450 drivers/iommu/dma-iommu.c:804 __iommu_dma_map+0x175/0x330 drivers/iommu/dma-iommu.c:869 iommu_dma_map_page+0x183/0x760 drivers/iommu/dma-iommu.c:1190 dma_map_page_attrs+0x148/0x7f0 kernel/dma/mapping.c:163 skb_frag_dma_map include/linux/skbuff.h:3633 [inline] e1000_tx_map drivers/net/ethernet/intel/e1000/e1000_main.c:2928 [inline] e1000_xmit_frame+0x19e8/0x4fb0 drivers/net/ethernet/intel/e1000/e1000_main.c:3244 __netdev_start_xmit include/linux/netdevice.h:4903 [inline] netdev_start_xmit include/linux/netdevice.h:4917 [inline] xmit_one net/core/dev.c:3531 [inline] dev_hard_start_xmit+0x143/0x790 net/core/dev.c:3547 sch_direct_xmit+0x1ac/0xc20 net/sched/sch_generic.c:343 __dev_xmit_skb net/core/dev.c:3760 [inline] __dev_queue_xmit+0x12c3/0x3f20 net/core/dev.c:4301 dev_queue_xmit include/linux/netdevice.h:3091 [inline] neigh_hh_output include/net/neighbour.h:526 [inline] neigh_output include/net/neighbour.h:540 [inline] ip_finish_output2+0x16fc/0x25e0 net/ipv4/ip_output.c:235 __ip_finish_output net/ipv4/ip_output.c:313 [inline] __ip_finish_output+0x49e/0x950 net/ipv4/ip_output.c:295 ip_finish_output+0x31/0x310 net/ipv4/ip_output.c:323 NF_HOOK_COND include/linux/netfilter.h:303 [inline] ip_output+0x13b/0x2a0 net/ipv4/ip_output.c:433 dst_output include/net/dst.h:450 [inline] ip_local_out+0x33e/0x4a0 net/ipv4/ip_output.c:129 __ip_queue_xmit+0x747/0x1940 net/ipv4/ip_output.c:535 __tcp_transmit_skb+0x29c1/0x3dc0 net/ipv4/tcp_output.c:1462 tcp_transmit_skb net/ipv4/tcp_output.c:1480 [inline] tcp_write_xmit+0xfe0/0x7ee0 net/ipv4/tcp_output.c:2792 __tcp_push_pending_frames+0xaf/0x390 net/ipv4/tcp_output.c:2977 tcp_push+0x221/0x6f0 net/ipv4/tcp.c:738 tcp_sendmsg_locked+0x27b8/0x3480 net/ipv4/tcp.c:1310 tcp_sendmsg+0x2e/0x50 net/ipv4/tcp.c:1342 inet_sendmsg+0xb9/0x140 net/ipv4/af_inet.c:851 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] sock_write_iter+0x4b8/0x5c0 net/socket.c:1160 call_write_iter include/linux/fs.h:2108 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0x6db/0x1100 fs/read_write.c:590 ksys_write+0x1f8/0x260 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xd2/0x260 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x6d/0x75 RIP: 0033:0x7f8c1eb16bf2 Code: 89 c7 48 89 44 24 08 e8 7b 34 fa ff 48 8b 44 24 08 48 83 c4 28 c3 c3 64 8b 04 25 18 00 00 00 85 c0 75 20 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 6f 48 8b 15 07 a2 0d 00 f7 d8 64 89 02 48 83 RSP: 002b:00007ffc8f82cca8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000024 RCX: 00007f8c1eb16bf2 RDX: 0000000000000024 RSI: 0000563cba0b83a0 RDI: 0000000000000004 RBP: 0000563cba0a5c10 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000563ca6dddaa4 R13: 000000000000003a R14: 0000563ca6dde3e8 R15: 00007ffc8f82cd18