net: mvneta: fix race condition in mvneta_tx()
authorEric Dumazet <edumazet@google.com>
Tue, 2 Dec 2014 12:30:59 +0000 (04:30 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 16 Dec 2014 17:37:11 +0000 (09:37 -0800)
commit14de991db18a160a5a67a3cbd14cc71a53a40784
tree897e0e3cbc31e8728c851a1f2740b51f856fba59
parentf7bf1abd2eae146f72a7e66ccb0e82e358ba552a
net: mvneta: fix race condition in mvneta_tx()

[ Upstream commit 5f478b41033606d325e420df693162e2524c2b94 ]

mvneta_tx() dereferences skb to get skb->len too late,
as hardware might have completed the transmit and TX completion
could have freed the skb from another cpu.

Fixes: 71f6d1b31fb1 ("net: mvneta: replace Tx timer with a real interrupt")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/marvell/mvneta.c