Skip to content
  • Eric Dumazet's avatar
    ax25: fix inconsistent lock state in ax25_destroy_timer · d4d5d8e8
    Eric Dumazet authored
    Before thread in process context uses bh_lock_sock()
    we must disable bh.
    
    sysbot reported :
    
    WARNING: inconsistent lock state
    5.2.0-rc3+ #32 Not tainted
    
    inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
    blkid/26581 [HC0[0]:SC1[1]:HE1:SE0] takes:
    00000000e0da85ee (slock-AF_AX25){+.?.}, at: spin_lock include/linux/spinlock.h:338 [inline]
    00000000e0da85ee (slock-AF_AX25){+.?.}, at: ax25_destroy_timer+0x53/0xc0 net/ax25/af_ax25.c:275
    {SOFTIRQ-ON-W} state was registered at:
      lock_acquire+0x16f/0x3f0 kernel/locking/lockdep.c:4303
      __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
      _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:151
      spin_lock include/linux/spinlock.h:338 [inline]
      ax25_rt_autobind+0x3ca/0x720 net/ax25/ax25_route.c:429
      ax25_connect.cold+0x30/0xa4 net/ax25/af_ax25.c:1221
      __sys_connect+0x264/0x330 net/socket.c:1834
      __do_sys_connect net/socket.c:1845 [inline]
      __se_sys_connect net/socket.c:1842 [inline]
      __x64_s...
    d4d5d8e8