Re: [PATCH v2] Bluetooth: Acquire sk_lock.slock without disabling interrupts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sebastian,

> There was a lockdep which led to commit
>   fad003b6c8e3d ("Bluetooth: Fix inconsistent lock state with RFCOMM")
> 
> Lockdep noticed that `sk->sk_lock.slock' was acquired without disabling
> the softirq while the lock was also used in softirq context.
> Unfortunately the solution back then was to disable interrupts before
> acquiring the lock which however made lockdep happy.
> It would have been enough to simply disable the softirq. Disabling
> interrupts before acquiring a spinlock_t is not allowed on PREEMPT_RT
> because these locks are converted to 'sleeping' spinlocks.
> 
> Use spin_lock_bh() in order to acquire the `sk_lock.slock'.
> 
> Reported-by: Luis Claudio R. Goncalves <lclaudio@xxxxxxxx>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx> [missing unlock]
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> ---
> 
> v1…v2: Unlock on the way out as reported by the lkp bot.
> 
> net/bluetooth/rfcomm/sock.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)

patch has been applied to bluetooth-next tree.

Regards

Marcel




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux