Regarding wrong usage of spin_lock_bh

Mohammed Shafi shafi.kernel at
Thu Aug 8 03:31:08 EDT 2013


I see a warning,

/qsdk/qca/src/linux/kernel/softirq.c:159 local_bh_enable_ip+0x5c/0xe0()

spin_lock_bh. While dev_ioctl is called from user context, not sure
why we have the warning because of the following reasons in softirq.c : 159

1. in_irqs - interrupt handler context           (So we need to use
spin_lock_irq_save )
2. disabled_irqs - interrupts are disabled    (spin_lock should be good
enough ).

Can some one give me more thoughts, I can see that its not necessary to
call spin_lock_bh
from softirq context, what are the other scenarios where this might be a
problem or not
necessary ?  The above warning comes from dev_ioctl  (user context), when a
network interface is added.

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list