commit | 6af88da14ee284aaad6e4326da09a89191ab6165 | [log] [tgz] |
---|---|---|
author | David S. Miller <davem@davemloft.net> | Sun May 08 13:45:20 2011 -0700 |
committer | David S. Miller <davem@davemloft.net> | Sun May 08 13:45:20 2011 -0700 |
tree | bde47277368279454abff9a860be9292556c7089 | |
parent | 2f16270f41e1499e23e6be25c51be87d950ffc91 [diff] |
l2tp: Fix locking in l2tp_core.c l2tp_xmit_skb() must take the socket lock. It makes use of ip_queue_xmit() which expects to execute in a socket atomic context. Since we execute this function in software interrupts, we cannot use the usual lock_sock()/release_sock() sequence, instead we have to use bh_lock_sock() and see if a user has the socket locked, and if so drop the packet. Signed-off-by: David S. Miller <davem@davemloft.net>