Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5487398 authored by Pavel Emelyanov's avatar Pavel Emelyanov Committed by David S. Miller
Browse files

[NETNS][DCCPV4]: Use proper net to route the reset packet.



The dccp_v4_route_skb used in dccp_v4_ctl_send_reset, currently
works with init_net's routing tables - fix it.

Signed-off-by: default avatarPavel Emelyanov <xemul@openvz.org>
Acked-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b76c4b27
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -445,7 +445,7 @@ static struct sock *dccp_v4_hnd_req(struct sock *sk, struct sk_buff *skb)
	return sk;
}

static struct dst_entry* dccp_v4_route_skb(struct sock *sk,
static struct dst_entry* dccp_v4_route_skb(struct net *net, struct sock *sk,
					   struct sk_buff *skb)
{
	struct rtable *rt;
@@ -462,7 +462,7 @@ static struct dst_entry* dccp_v4_route_skb(struct sock *sk,
			  };

	security_skb_classify_flow(skb, &fl);
	if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) {
	if (ip_route_output_flow(net, &rt, &fl, sk, 0)) {
		IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES);
		return NULL;
	}
@@ -515,7 +515,7 @@ static void dccp_v4_ctl_send_reset(struct sock *sk, struct sk_buff *rxskb)
	if (rxskb->rtable->rt_type != RTN_LOCAL)
		return;

	dst = dccp_v4_route_skb(ctl_sk, rxskb);
	dst = dccp_v4_route_skb(net, ctl_sk, rxskb);
	if (dst == NULL)
		return;