================================
WARNING: inconsistent lock state
syzkaller #0 Not tainted
--------------------------------
inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
kworker/u8:3/5643 [HC0[0]:SC1[1]:HE1:SE0] takes:
ffff888105780260 (sk_lock-AF_X25){+.?.}-{0:0}, at: x25_kill_by_neigh+0x10d/0x250
{SOFTIRQ-ON-W} state was registered at:
  lock_acquire+0x106/0x350
  lock_sock_nested+0x41/0x100
  x25_ioctl+0x9ba/0xff0
  sock_do_ioctl+0x101/0x320
  sock_ioctl+0x57a/0x7e0
  __se_sys_ioctl+0xfc/0x170
  do_syscall_64+0x166/0x520
  entry_SYSCALL_64_after_hwframe+0x77/0x7f
irq event stamp: 621832
hardirqs last  enabled at (621832): [<ffffffff818874d6>] __local_bh_enable_ip+0xd6/0x140
hardirqs last disabled at (621831): [<ffffffff81887472>] __local_bh_enable_ip+0x72/0x140
softirqs last  enabled at (621776): [<ffffffff89a51c7b>] __dev_queue_xmit+0x29b/0x3820
softirqs last disabled at (621777): [<ffffffff818875c7>] do_softirq+0x77/0xd0

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(sk_lock-AF_X25);
  <Interrupt>
    lock(sk_lock-AF_X25);

 *** DEADLOCK ***

locks held by kworker/u8:3/5643: 3, last CPU#1:
 #0: ffff8881127b2940 ((wq_completion)bat_events){+.+.}-{0:0}, at: process_scheduled_works+0xa1a/0x14c0
 #1: ffffc90004e27c40 ((work_completion)(&(&forw_packet_aggr->delayed_work)->work)){+.+.}-{0:0}, at: process_scheduled_works+0xa1a/0x14c0
 #2: ffffffff8eb5a1e0 (rcu_read_lock){....}-{1:3}, at: netif_receive_skb_core+0x33/0x2b0

stack backtrace:
CPU: 1 UID: 0 PID: 5643 Comm: kworker/u8:3 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet
Call Trace:
 <IRQ>
 dump_stack_lvl+0xe8/0x150
 print_usage_bug+0x28c/0x2e0
 mark_lock_irq+0x410/0x420
 mark_lock+0x115/0x190
 __lock_acquire+0x65c/0x2cf0
 lock_acquire+0x106/0x350
 lock_sock_nested+0x41/0x100
 x25_kill_by_neigh+0x10d/0x250
 x25_lapb_receive_frame+0x1b0/0xfb0
 netif_receive_skb_core+0x2a6/0x2b0
 lapbeth_napi_poll+0x42/0x90
 __napi_poll+0xaa/0x330
 net_rx_action+0x61d/0xf50
 handle_softirqs+0x226/0x860
 do_softirq+0x77/0xd0
 </IRQ>
 <TASK>
 __local_bh_enable_ip+0x100/0x140
 __dev_queue_xmit+0x1edc/0x3820
 batadv_send_skb_packet+0x400/0x650
 batadv_iv_send_outstanding_bat_ogm_packet+0x5e8/0x790
 process_scheduled_works+0xa88/0x14c0
 worker_thread+0xa47/0xfb0
 kthread+0x38b/0x480
 ret_from_fork+0x514/0xb70
 ret_from_fork_asm+0x1a/0x30
 </TASK>
BUG: sleeping function called from invalid context at net/core/sock.c:3829
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 5643, name: kworker/u8:3
preempt_count: 101, expected: 0
RCU nest depth: 1, expected: 0
INFO: lockdep is turned off.
Preemption disabled at:
[<ffffffff89a51c88>] __dev_queue_xmit+0x2a8/0x3820
CPU: 1 UID: 0 PID: 5643 Comm: kworker/u8:3 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet
Call Trace:
 <IRQ>
 dump_stack_lvl+0xe8/0x150
 __might_resched+0x36a/0x4c0
 lock_sock_nested+0x56/0x100
 x25_kill_by_neigh+0x10d/0x250
 x25_lapb_receive_frame+0x1b0/0xfb0
 netif_receive_skb_core+0x2a6/0x2b0
 lapbeth_napi_poll+0x42/0x90
 __napi_poll+0xaa/0x330
 net_rx_action+0x61d/0xf50
 handle_softirqs+0x226/0x860
 do_softirq+0x77/0xd0
 </IRQ>
 <TASK>
 __local_bh_enable_ip+0x100/0x140
 __dev_queue_xmit+0x1edc/0x3820
 batadv_send_skb_packet+0x400/0x650
 batadv_iv_send_outstanding_bat_ogm_packet+0x5e8/0x790
 process_scheduled_works+0xa88/0x14c0
 worker_thread+0xa47/0xfb0
 kthread+0x38b/0x480
 ret_from_fork+0x514/0xb70
 ret_from_fork_asm+0x1a/0x30
 </TASK>
