From: Pavel Emelyanov Date: Mon, 14 Apr 2008 05:31:32 +0000 (-0700) Subject: [NETNS][DCCPV6]: Don't pass NULL to ip6_dst_lookup. X-Git-Tag: v2.6.26-rc1~1138^2~105 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=68d185980f70413b353df99cdf5e667510036668;p=platform%2Fkernel%2Flinux-3.10.git [NETNS][DCCPV6]: 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. Signed-off-by: Pavel Emelyanov Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller --- diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 94d749e..b657dea 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c @@ -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);