Browse Source

net: fix NULL-deref in WARN() in skb_gso_segment()

Bug was introduced in commit c8f44affb7244f2ac3e703cab13d55ede27621bb.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michał Mirosław 13 years ago
parent
commit
65e9d2faab
1 changed files with 3 additions and 2 deletions
  1. 3 2
      net/core/dev.c

+ 3 - 2
net/core/dev.c

@@ -1889,6 +1889,7 @@ EXPORT_SYMBOL(skb_set_dev);
 
 static void skb_warn_bad_offload(const struct sk_buff *skb)
 {
+	static const netdev_features_t null_features = 0;
 	struct net_device *dev = skb->dev;
 	const char *driver = "";
 
@@ -1897,8 +1898,8 @@ static void skb_warn_bad_offload(const struct sk_buff *skb)
 
 	WARN(1, "%s: caps=(%pNF, %pNF) len=%d data_len=%d gso_size=%d "
 	     "gso_type=%d ip_summed=%d\n",
-	     driver, dev ? &dev->features : NULL,
-	     skb->sk ? &skb->sk->sk_route_caps : NULL,
+	     driver, dev ? &dev->features : &null_features,
+	     skb->sk ? &skb->sk->sk_route_caps : &null_features,
 	     skb->len, skb->data_len, skb_shinfo(skb)->gso_size,
 	     skb_shinfo(skb)->gso_type, skb->ip_summed);
 }