WARNING: HARDIRQ-safe -> HARDIRQ-unsafe lock order detected 6.9.0-rc2-syzkaller-00002-g026e680b0a08 #0 Not tainted ----------------------------------------------------- kworker/u32:6/1088 [HC0[0]:SC0[2]:HE0:SE0] is trying to acquire: ffff88805c649020 (&htab->buckets[i].lock){+.-.}-{2:2}, at: spin_lock_bh include/linux/spinlock.h:356 [inline] ffff88805c649020 (&htab->buckets[i].lock){+.-.}-{2:2}, at: sock_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 and this task is already holding: ffff88801f242c18 (&host->lock){-.-.}-{2:2}, at: ata_scsi_queuecmd+0x86/0x160 drivers/ata/libata-scsi.c:4194 which would create a new lock dependency: (&host->lock){-.-.}-{2:2} -> (&htab->buckets[i].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 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock_irqrestore+0x31/0x80 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] ata_exec_internal_sg+0xad3/0x1800 drivers/ata/libata-core.c:1578 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+0xc9c/0x18e0 drivers/ata/libata-core.c:1836 ata_eh_revalidate_and_attach drivers/ata/libata-eh.c:3110 [inline] ata_eh_recover+0x1789/0x3d80 drivers/ata/libata-eh.c:3820 sata_pmp_eh_recover drivers/ata/libata-pmp.c:936 [inline] sata_pmp_error_handler+0x103e/0x2900 drivers/ata/libata-pmp.c:1099 ahci_error_handler+0x10c/0x1e0 drivers/ata/libahci.c:2226 ata_scsi_port_error_handler+0x94e/0x1b80 drivers/ata/libata-eh.c:730 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 to a HARDIRQ-irq-unsafe lock: (&htab->buckets[i].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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] page_frag_alloc_1k net/core/skbuff.c:250 [inline] __napi_alloc_skb+0x4f8/0x710 net/core/skbuff.c:834 napi_alloc_skb include/linux/skbuff.h:3358 [inline] e1000_alloc_rx_skb drivers/net/ethernet/intel/e1000/e1000_main.c:4112 [inline] e1000_copybreak drivers/net/ethernet/intel/e1000/e1000_main.c:4328 [inline] e1000_clean_rx_irq+0x67d/0xff0 drivers/net/ethernet/intel/e1000/e1000_main.c:4380 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 get_current arch/x86/include/asm/current.h:49 [inline] finish_task_switch.isra.0+0x220/0xcc0 kernel/sched/core.c:5283 context_switch kernel/sched/core.c:5412 [inline] __schedule+0xf1d/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 do_nanosleep+0x216/0x510 kernel/time/hrtimer.c:2051 hrtimer_nanosleep+0x1ab/0x440 kernel/time/hrtimer.c:2104 common_nsleep+0xa1/0xd0 kernel/time/posix-timers.c:1350 __do_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1424 [inline] __se_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1401 [inline] __ia32_sys_clock_nanosleep_time32+0x334/0x4d0 kernel/time/posix-timers.c:1401 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x7a/0x120 arch/x86/entry/common.c:321 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:346 entry_SYSENTER_compat_after_hwframe+0x7f/0x89 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&htab->buckets[i].lock); local_irq_disable(); lock(&host->lock); lock(&htab->buckets[i].lock); lock(&host->lock); *** DEADLOCK *** 6 locks held by kworker/u32:6/1088: #0: ffff888018440148 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x115f/0x1a30 kernel/workqueue.c:3229 #1: ffffc90006f47d80 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x865/0x1a30 kernel/workqueue.c:3230 #2: ffff88801d60ab98 (&sbi->s_writepages_rwsem){++++}-{0:0}, at: do_writepages+0x1a3/0x7f0 mm/page-writeback.c:2612 #3: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline] #3: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline] #3: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: blk_mq_run_hw_queue+0x619/0x9a0 block/blk-mq.c:2268 #4: ffff88801f242c18 (&host->lock){-.-.}-{2:2}, at: ata_scsi_queuecmd+0x86/0x160 drivers/ata/libata-scsi.c:4194 #5: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:329 [inline] #5: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:781 [inline] #5: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: __bpf_trace_run kernel/trace/bpf_trace.c:2380 [inline] #5: ffffffff8d7b4c20 (rcu_read_lock){....}-{1:2}, at: bpf_trace_run4+0x107/0x460 kernel/trace/bpf_trace.c:2422 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 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock_irqrestore+0x31/0x80 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] ata_exec_internal_sg+0xad3/0x1800 drivers/ata/libata-core.c:1578 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+0xc9c/0x18e0 drivers/ata/libata-core.c:1836 ata_eh_revalidate_and_attach drivers/ata/libata-eh.c:3110 [inline] ata_eh_recover+0x1789/0x3d80 drivers/ata/libata-eh.c:3820 sata_pmp_eh_recover drivers/ata/libata-pmp.c:936 [inline] sata_pmp_error_handler+0x103e/0x2900 drivers/ata/libata-pmp.c:1099 ahci_error_handler+0x10c/0x1e0 drivers/ata/libahci.c:2226 ata_scsi_port_error_handler+0x94e/0x1b80 drivers/ata/libata-eh.c:730 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 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 __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline] _raw_spin_unlock_irqrestore+0x31/0x80 kernel/locking/spinlock.c:194 spin_unlock_irqrestore include/linux/spinlock.h:406 [inline] ata_exec_internal_sg+0xad3/0x1800 drivers/ata/libata-core.c:1578 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+0xc9c/0x18e0 drivers/ata/libata-core.c:1836 ata_dev_reread_id+0xe5/0x1b0 drivers/ata/libata-core.c:3929 ata_dev_revalidate+0x134/0x990 drivers/ata/libata-core.c:3975 ata_dev_set_mode drivers/ata/libata-core.c:3497 [inline] ata_do_set_mode+0x1777/0x2c50 drivers/ata/libata-core.c:3633 ata_set_mode+0x431/0x4f0 drivers/ata/libata-eh.c:3215 ata_eh_recover+0x2835/0x3d80 drivers/ata/libata-eh.c:3832 sata_pmp_eh_recover drivers/ata/libata-pmp.c:936 [inline] sata_pmp_error_handler+0x103e/0x2900 drivers/ata/libata-pmp.c:1099 ahci_error_handler+0x10c/0x1e0 drivers/ata/libahci.c:2226 ata_scsi_port_error_handler+0x94e/0x1b80 drivers/ata/libata-eh.c:730 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 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/0x630 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+0x660/0xc50 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 the dependencies between the lock to be acquired and HARDIRQ-irq-unsafe lock: -> (&htab->buckets[i].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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] page_frag_alloc_1k net/core/skbuff.c:250 [inline] __napi_alloc_skb+0x4f8/0x710 net/core/skbuff.c:834 napi_alloc_skb include/linux/skbuff.h:3358 [inline] e1000_alloc_rx_skb drivers/net/ethernet/intel/e1000/e1000_main.c:4112 [inline] e1000_copybreak drivers/net/ethernet/intel/e1000/e1000_main.c:4328 [inline] e1000_clean_rx_irq+0x67d/0xff0 drivers/net/ethernet/intel/e1000/e1000_main.c:4380 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 get_current arch/x86/include/asm/current.h:49 [inline] finish_task_switch.isra.0+0x220/0xcc0 kernel/sched/core.c:5283 context_switch kernel/sched/core.c:5412 [inline] __schedule+0xf1d/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 do_nanosleep+0x216/0x510 kernel/time/hrtimer.c:2051 hrtimer_nanosleep+0x1ab/0x440 kernel/time/hrtimer.c:2104 common_nsleep+0xa1/0xd0 kernel/time/posix-timers.c:1350 __do_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1424 [inline] __se_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1401 [inline] __ia32_sys_clock_nanosleep_time32+0x334/0x4d0 kernel/time/posix-timers.c:1401 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x7a/0x120 arch/x86/entry/common.c:321 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:346 entry_SYSENTER_compat_after_hwframe+0x7f/0x89 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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] page_frag_alloc_1k net/core/skbuff.c:250 [inline] __napi_alloc_skb+0x4f8/0x710 net/core/skbuff.c:834 napi_alloc_skb include/linux/skbuff.h:3358 [inline] e1000_alloc_rx_skb drivers/net/ethernet/intel/e1000/e1000_main.c:4112 [inline] e1000_copybreak drivers/net/ethernet/intel/e1000/e1000_main.c:4328 [inline] e1000_clean_rx_irq+0x67d/0xff0 drivers/net/ethernet/intel/e1000/e1000_main.c:4380 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 get_current arch/x86/include/asm/current.h:49 [inline] finish_task_switch.isra.0+0x220/0xcc0 kernel/sched/core.c:5283 context_switch kernel/sched/core.c:5412 [inline] __schedule+0xf1d/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 do_nanosleep+0x216/0x510 kernel/time/hrtimer.c:2051 hrtimer_nanosleep+0x1ab/0x440 kernel/time/hrtimer.c:2104 common_nsleep+0xa1/0xd0 kernel/time/posix-timers.c:1350 __do_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1424 [inline] __se_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1401 [inline] __ia32_sys_clock_nanosleep_time32+0x334/0x4d0 kernel/time/posix-timers.c:1401 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x7a/0x120 arch/x86/entry/common.c:321 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:346 entry_SYSENTER_compat_after_hwframe+0x7f/0x89 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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] page_frag_alloc_1k net/core/skbuff.c:250 [inline] __napi_alloc_skb+0x4f8/0x710 net/core/skbuff.c:834 napi_alloc_skb include/linux/skbuff.h:3358 [inline] e1000_alloc_rx_skb drivers/net/ethernet/intel/e1000/e1000_main.c:4112 [inline] e1000_copybreak drivers/net/ethernet/intel/e1000/e1000_main.c:4328 [inline] e1000_clean_rx_irq+0x67d/0xff0 drivers/net/ethernet/intel/e1000/e1000_main.c:4380 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 get_current arch/x86/include/asm/current.h:49 [inline] finish_task_switch.isra.0+0x220/0xcc0 kernel/sched/core.c:5283 context_switch kernel/sched/core.c:5412 [inline] __schedule+0xf1d/0x5d00 kernel/sched/core.c:6746 __schedule_loop kernel/sched/core.c:6823 [inline] schedule+0xe7/0x350 kernel/sched/core.c:6838 do_nanosleep+0x216/0x510 kernel/time/hrtimer.c:2051 hrtimer_nanosleep+0x1ab/0x440 kernel/time/hrtimer.c:2104 common_nsleep+0xa1/0xd0 kernel/time/posix-timers.c:1350 __do_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1424 [inline] __se_sys_clock_nanosleep_time32 kernel/time/posix-timers.c:1401 [inline] __ia32_sys_clock_nanosleep_time32+0x334/0x4d0 kernel/time/posix-timers.c:1401 do_syscall_32_irqs_on arch/x86/entry/common.c:165 [inline] __do_fast_syscall_32+0x7a/0x120 arch/x86/entry/common.c:321 do_fast_syscall_32+0x32/0x80 arch/x86/entry/common.c:346 entry_SYSENTER_compat_after_hwframe+0x7f/0x89 } ... key at: [] __key.0+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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] alloc_pgtable_page+0xe6/0x1e0 drivers/iommu/intel/iommu.c:306 pfn_to_dma_pte+0x2ca/0x5a0 drivers/iommu/intel/iommu.c:870 __domain_mapping+0x35e/0xc20 drivers/iommu/intel/iommu.c:2105 intel_iommu_map drivers/iommu/intel/iommu.c:4050 [inline] intel_iommu_map_pages+0x270/0x390 drivers/iommu/intel/iommu.c:4069 __iommu_map+0x2f1/0x680 drivers/iommu/iommu.c:2464 iommu_map_sg+0x1a5/0x4b0 drivers/iommu/iommu.c:2615 iommu_dma_map_sg+0x79b/0xc80 drivers/iommu/dma-iommu.c:1454 __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_scsi_translate drivers/ata/libata-scsi.c:1717 [inline] __ata_scsi_queuecmd+0x9b6/0x1300 drivers/ata/libata-scsi.c:4153 ata_scsi_queuecmd+0xac/0x160 drivers/ata/libata-scsi.c:4198 scsi_dispatch_cmd drivers/scsi/scsi_lib.c:1610 [inline] scsi_queue_rq+0x12af/0x3620 drivers/scsi/scsi_lib.c:1852 blk_mq_dispatch_rq_list+0x452/0x2030 block/blk-mq.c:2053 __blk_mq_do_dispatch_sched block/blk-mq-sched.c:170 [inline] blk_mq_do_dispatch_sched block/blk-mq-sched.c:184 [inline] __blk_mq_sched_dispatch_requests+0xcdf/0x1620 block/blk-mq-sched.c:309 blk_mq_sched_dispatch_requests+0xd4/0x150 block/blk-mq-sched.c:331 blk_mq_run_hw_queue+0x645/0x9a0 block/blk-mq.c:2268 blk_mq_dispatch_plug_list block/blk-mq.c:2769 [inline] blk_mq_flush_plug_list.part.0+0x611/0x1d90 block/blk-mq.c:2817 blk_mq_flush_plug_list block/blk-mq.c:1291 [inline] blk_add_rq_to_plug+0x117/0x540 block/blk-mq.c:1294 blk_mq_submit_bio+0x1602/0x20f0 block/blk-mq.c:3009 __submit_bio+0xfd/0x310 block/blk-core.c:619 __submit_bio_noacct_mq block/blk-core.c:698 [inline] submit_bio_noacct_nocheck+0x98a/0xd50 block/blk-core.c:727 submit_bio_noacct+0x746/0x1ba0 block/blk-core.c:837 ext4_io_submit+0xa6/0x140 fs/ext4/page-io.c:378 ext4_do_writepages+0xf0f/0x3250 fs/ext4/inode.c:2699 ext4_writepages+0x303/0x730 fs/ext4/inode.c:2768 do_writepages+0x1a3/0x7f0 mm/page-writeback.c:2612 __writeback_single_inode+0x163/0xf90 fs/fs-writeback.c:1650 writeback_sb_inodes+0x5a6/0x10d0 fs/fs-writeback.c:1941 wb_writeback+0x28a/0xb30 fs/fs-writeback.c:2117 wb_do_writeback fs/fs-writeback.c:2264 [inline] wb_workfn+0x28d/0xf40 fs/fs-writeback.c:2304 process_one_work+0x902/0x1a30 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 stack backtrace: CPU: 0 PID: 1088 Comm: kworker/u32:6 Not tainted 6.9.0-rc2-syzkaller-00002-g026e680b0a08 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Workqueue: writeback wb_workfn (flush-8:0) 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_hash_delete_elem+0xd4/0x360 net/core/sock_map.c:939 bpf_prog_2c29ac5cdc6b1842+0x42/0x46 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_run4+0x176/0x460 kernel/trace/bpf_trace.c:2422 trace_mm_page_alloc include/trace/events/kmem.h:177 [inline] __alloc_pages+0x3ad/0x2460 mm/page_alloc.c:4597 __alloc_pages_node include/linux/gfp.h:238 [inline] alloc_pages_node include/linux/gfp.h:261 [inline] alloc_pgtable_page+0xe6/0x1e0 drivers/iommu/intel/iommu.c:306 pfn_to_dma_pte+0x2ca/0x5a0 drivers/iommu/intel/iommu.c:870 __domain_mapping+0x35e/0xc20 drivers/iommu/intel/iommu.c:2105 intel_iommu_map drivers/iommu/intel/iommu.c:4050 [inline] intel_iommu_map_pages+0x270/0x390 drivers/iommu/intel/iommu.c:4069 __iommu_map+0x2f1/0x680 drivers/iommu/iommu.c:2464 iommu_map_sg+0x1a5/0x4b0 drivers/iommu/iommu.c:2615 iommu_dma_map_sg+0x79b/0xc80 drivers/iommu/dma-iommu.c:1454 __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_scsi_translate drivers/ata/libata-scsi.c:1717 [inline] __ata_scsi_queuecmd+0x9b6/0x1300 drivers/ata/libata-scsi.c:4153 ata_scsi_queuecmd+0xac/0x160 drivers/ata/libata-scsi.c:4198 scsi_dispatch_cmd drivers/scsi/scsi_lib.c:1610 [inline] scsi_queue_rq+0x12af/0x3620 drivers/scsi/scsi_lib.c:1852 blk_mq_dispatch_rq_list+0x452/0x2030 block/blk-mq.c:2053 __blk_mq_do_dispatch_sched block/blk-mq-sched.c:170 [inline] blk_mq_do_dispatch_sched block/blk-mq-sched.c:184 [inline] __blk_mq_sched_dispatch_requests+0xcdf/0x1620 block/blk-mq-sched.c:309 blk_mq_sched_dispatch_requests+0xd4/0x150 block/blk-mq-sched.c:331 blk_mq_run_hw_queue+0x645/0x9a0 block/blk-mq.c:2268 blk_mq_dispatch_plug_list block/blk-mq.c:2769 [inline] blk_mq_flush_plug_list.part.0+0x611/0x1d90 block/blk-mq.c:2817 blk_mq_flush_plug_list block/blk-mq.c:1291 [inline] blk_add_rq_to_plug+0x117/0x540 block/blk-mq.c:1294 blk_mq_submit_bio+0x1602/0x20f0 block/blk-mq.c:3009 __submit_bio+0xfd/0x310 block/blk-core.c:619 __submit_bio_noacct_mq block/blk-core.c:698 [inline] submit_bio_noacct_nocheck+0x98a/0xd50 block/blk-core.c:727 submit_bio_noacct+0x746/0x1ba0 block/blk-core.c:837 ext4_io_submit+0xa6/0x140 fs/ext4/page-io.c:378 ext4_do_writepages+0xf0f/0x3250 fs/ext4/inode.c:2699 ext4_writepages+0x303/0x730 fs/ext4/inode.c:2768 do_writepages+0x1a3/0x7f0 mm/page-writeback.c:2612 __writeback_single_inode+0x163/0xf90 fs/fs-writeback.c:1650 writeback_sb_inodes+0x5a6/0x10d0 fs/fs-writeback.c:1941 wb_writeback+0x28a/0xb30 fs/fs-writeback.c:2117 wb_do_writeback fs/fs-writeback.c:2264 [inline] wb_workfn+0x28d/0xf40 fs/fs-writeback.c:2304 process_one_work+0x902/0x1a30 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 ------------[ cut here ]------------ raw_local_irq_restore() called with IRQs enabled WARNING: CPU: 0 PID: 1088 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: 1088 Comm: kworker/u32:6 Not tainted 6.9.0-rc2-syzkaller-00002-g026e680b0a08 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Workqueue: writeback wb_workfn (flush-8:0) RIP: 0010:warn_bogus_irq_restore+0x29/0x30 kernel/locking/irqflag-debug.c:10 Code: 90 f3 0f 1e fa 90 80 3d c1 12 b4 04 00 74 06 90 c3 cc cc cc cc c6 05 b2 12 b4 04 01 90 48 c7 c7 a0 cf 0c 8b e8 a8 12 7c 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:ffffc90006f46a20 EFLAGS: 00010286 RAX: 0000000000000000 RBX: ffff88801f242c00 RCX: ffffffff8150eb59 RDX: ffff88801fe30000 RSI: ffffffff8150eb66 RDI: 0000000000000001 RBP: 0000000000000246 R08: 0000000000000001 R09: 0000000000000000 R10: 0000000000000000 R11: 61636f6c5f776172 R12: ffff888018a9a680 R13: 0000000000000246 R14: ffff888018a98010 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff88802c200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000f7400170 CR3: 000000000d57a000 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] ata_scsi_queuecmd+0xda/0x160 drivers/ata/libata-scsi.c:4204 scsi_dispatch_cmd drivers/scsi/scsi_lib.c:1610 [inline] scsi_queue_rq+0x12af/0x3620 drivers/scsi/scsi_lib.c:1852 blk_mq_dispatch_rq_list+0x452/0x2030 block/blk-mq.c:2053 __blk_mq_do_dispatch_sched block/blk-mq-sched.c:170 [inline] blk_mq_do_dispatch_sched block/blk-mq-sched.c:184 [inline] __blk_mq_sched_dispatch_requests+0xcdf/0x1620 block/blk-mq-sched.c:309 blk_mq_sched_dispatch_requests+0xd4/0x150 block/blk-mq-sched.c:331 blk_mq_run_hw_queue+0x645/0x9a0 block/blk-mq.c:2268 blk_mq_dispatch_plug_list block/blk-mq.c:2769 [inline] blk_mq_flush_plug_list.part.0+0x611/0x1d90 block/blk-mq.c:2817 blk_mq_flush_plug_list block/blk-mq.c:1291 [inline] blk_add_rq_to_plug+0x117/0x540 block/blk-mq.c:1294 blk_mq_submit_bio+0x1602/0x20f0 block/blk-mq.c:3009 __submit_bio+0xfd/0x310 block/blk-core.c:619 __submit_bio_noacct_mq block/blk-core.c:698 [inline] submit_bio_noacct_nocheck+0x98a/0xd50 block/blk-core.c:727 submit_bio_noacct+0x746/0x1ba0 block/blk-core.c:837 ext4_io_submit+0xa6/0x140 fs/ext4/page-io.c:378 ext4_do_writepages+0xf0f/0x3250 fs/ext4/inode.c:2699 ext4_writepages+0x303/0x730 fs/ext4/inode.c:2768 do_writepages+0x1a3/0x7f0 mm/page-writeback.c:2612 __writeback_single_inode+0x163/0xf90 fs/fs-writeback.c:1650 writeback_sb_inodes+0x5a6/0x10d0 fs/fs-writeback.c:1941 wb_writeback+0x28a/0xb30 fs/fs-writeback.c:2117 wb_do_writeback fs/fs-writeback.c:2264 [inline] wb_workfn+0x28d/0xf40 fs/fs-writeback.c:2304 process_one_work+0x902/0x1a30 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