This is a note to let you know that I've just added the patch titled ppp: set qdisc_tx_busylock to avoid LOCKDEP splat to the 3.8-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: ppp-set-qdisc_tx_busylock-to-avoid-lockdep-splat.patch and it can be found in the queue-3.8 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 4ead5e2075773c4d8b789044f55c0dd293448713 Mon Sep 17 00:00:00 2001 From: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue, 19 Feb 2013 10:42:03 -0800 Subject: ppp: set qdisc_tx_busylock to avoid LOCKDEP splat From: Eric Dumazet <edumazet@xxxxxxxxxx> [ Upstream commit 303c07db487be59ae9fda10600ea65ca11c21497 ] If a qdisc is installed on a ppp device, its possible to get a lockdep splat under stress, because nested dev_queue_xmit() can lock busylock a second time (on a different device, so its a false positive) Avoid this problem using a distinct lock_class_key for ppp devices. Reported-by: Yanko Kaneti <yaneti@xxxxxxxxxxx> Tested-by: Yanko Kaneti <yaneti@xxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/ppp/ppp_generic.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c @@ -1058,7 +1058,15 @@ ppp_get_stats64(struct net_device *dev, return stats64; } +static struct lock_class_key ppp_tx_busylock; +static int ppp_dev_init(struct net_device *dev) +{ + dev->qdisc_tx_busylock = &ppp_tx_busylock; + return 0; +} + static const struct net_device_ops ppp_netdev_ops = { + .ndo_init = ppp_dev_init, .ndo_start_xmit = ppp_start_xmit, .ndo_do_ioctl = ppp_net_ioctl, .ndo_get_stats64 = ppp_get_stats64, Patches currently in stable-queue which might be from edumazet@xxxxxxxxxx are queue-3.8/ipv6-use-a-stronger-hash-for-tcp.patch queue-3.8/ipv6-fix-race-condition-regarding-dst-expires-and-dst-from.patch queue-3.8/tcp-fix-syn-data-space-mis-accounting.patch queue-3.8/sock_diag-fix-out-of-bounds-access-to-sock_diag_handlers.patch queue-3.8/ppp-set-qdisc_tx_busylock-to-avoid-lockdep-splat.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html