summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJames Chapman <jchapman@katalix.com>2008-06-05 00:54:07 +0200
committerDavid S. Miller <davem@davemloft.net>2008-06-05 00:54:07 +0200
commit24b95685ffcdb3dc28f64b9e8af6ea3e8360fbc5 (patch)
treef647e001d2bd9115a121db792e9dc6d73fd25163 /net
parenttcp: Fix for race due to temporary drop of the socket lock in skb_splice_bits. (diff)
downloadlinux-24b95685ffcdb3dc28f64b9e8af6ea3e8360fbc5.tar.xz
linux-24b95685ffcdb3dc28f64b9e8af6ea3e8360fbc5.zip
l2tp: Fix possible oops if transmitting or receiving when tunnel goes down
Some problems have been experienced in the field which cause an oops in the pppol2tp driver if L2TP tunnels fail while passing data. The pppol2tp driver uses private data that is referenced via the sk->sk_user_data of its UDP and PPPoL2TP sockets. This patch makes sure that the driver uses sock_hold() when it holds a reference to the sk pointer. This affects its sendmsg(), recvmsg(), getname(), [gs]etsockopt() and ioctl() handlers. Tested by ISP where problem was seen. System has been up 10 days with no oops since running this patch. Without the patch, an oops would occur every 1-2 days. Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions