Skip to contentSkip to conversation

: Don't pass NULL to ip6_dst_lookup.

RFC PATCH Applied Pavel Emelyanov 1 participant 1 message Apr 8, 2008 Networking

lore
Share & tools
lore
#0 lore raw

RFC PATCH 8/12 : Don't pass NULL to ip6_dst_lookup.

This call uses the sock to get the net to lookup the routing in. With CONFIG_NET_NS this code will OOPS, since the sk ptr is NULL.

After looking inside the ip6_dst_lookup and drawing the analogy with respective ipv6 code, it seems, that the dccp ctl socket is a good candidate for the first argument.

---
 net/dccp/ipv6.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
net/dccp/ipv6.c +1 -1
index 94d749e..b657dea 100644
@@ -322,7 +322,7 @@ static void dccp_v6_ctl_send_reset(struct sock *sk, struct sk_buff *rxskb)
 	security_skb_classify_flow(rxskb, &fl);
 
 	/* sk = NULL, but it is safe for now. RST socket required. */
-	if (!ip6_dst_lookup(NULL, &skb->dst, &fl)) {
+	if (!ip6_dst_lookup(dccp_v6_ctl_sk, &skb->dst, &fl)) {
 		if (xfrm_lookup(&skb->dst, &fl, NULL, 0) >= 0) {
 			ip6_xmit(dccp_v6_ctl_sk, skb, &fl, NULL, 0);
 			DCCP_INC_STATS_BH(DCCP_MIB_OUTSEGS);
Signature · 1 line
1.5.3.4