Netdev List
 help / color / mirror / Atom feed
* [PATCH] af_packet: tpacket_destruct_skb, deref skb after BUG_ON assertion
@ 2011-10-09 15:19 danborkmann
  2011-10-09 20:57 ` Eric Dumazet
  0 siblings, 1 reply; 4+ messages in thread
From: danborkmann @ 2011-10-09 15:19 UTC (permalink / raw)
  To: David S. Miller, netdev

This tiny patch derefs the skb only after BUG_ON(skb==NULL) was evaluated
and not before. Patched against latest Linus tree.

Thanks,
Daniel

Signed-off-by: Daniel Borkmann <danborkmann@iogearbox.net>

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index fabb4fa..d9d833b 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1167,11 +1167,12 @@ ring_is_full:

  static void tpacket_destruct_skb(struct sk_buff *skb)
  {
-	struct packet_sock *po = pkt_sk(skb->sk);
+	struct packet_sock *po;
  	void *ph;

  	BUG_ON(skb == NULL);

+	po = pkt_sk(skb->sk);
  	if (likely(po->tx_ring.pg_vec)) {
  		ph = skb_shinfo(skb)->destructor_arg;
  		BUG_ON(__packet_get_status(po, ph) != TP_STATUS_SENDING);

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-10 16:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-09 15:19 [PATCH] af_packet: tpacket_destruct_skb, deref skb after BUG_ON assertion danborkmann
2011-10-09 20:57 ` Eric Dumazet
2011-10-10  8:02   ` danborkmann
2011-10-10 16:06     ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox