Skip to contentSkip to conversation

Patch "net: icmp_route_lookup should use rt dev to determine L3 domain" has been added to the 4.8-stable tree

PATCH [email protected] 1 participant 1 message Nov 18, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

net: icmp_route_lookup should use rt dev to determine L3 domain

to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
net-icmp_route_lookup-should-use-rt-dev-to-determine-l3-domain.patch
and it can be found in the queue-4.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Fri Nov 18 11:35:46 CET 2016

From: David Ahern <[email protected]>
Date: Mon, 7 Nov 2016 12:03:09 -0800
Subject: net: icmp_route_lookup should use rt dev to determine L3 domain

From: David Ahern <[email protected]>

[ Upstream commit 9d1a6c4ea43e48c7880c85971c17939b56832d8a ]

icmp_send is called in response to some event. The skb may not have the device set (skb->dev is NULL), but it is expected to have an rt. Update icmp_route_lookup to use the rt on the skb to determine L3 domain.

Fixes 613d09b30f8b ("net: Use VRF device index for lookups on TX")
---
 net/ipv4/icmp.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
net/ipv4/icmp.c +2 -2
@@ -477,7 +477,7 @@ static struct rtable *icmp_route_lookup(
 	fl4->flowi4_proto = IPPROTO_ICMP;
 	fl4->fl4_icmp_type = type;
 	fl4->fl4_icmp_code = code;
-	fl4->flowi4_oif = l3mdev_master_ifindex(skb_in->dev);
+	fl4->flowi4_oif = l3mdev_master_ifindex(skb_dst(skb_in)->dev);
 
 	security_skb_classify_flow(skb_in, flowi4_to_flowi(fl4));
 	rt = __ip_route_output_key_hash(net, fl4,
@@ -502,7 +502,7 @@ static struct rtable *icmp_route_lookup(
 	if (err)
 		goto relookup_failed;
 
-	if (inet_addr_type_dev_table(net, skb_in->dev,
+	if (inet_addr_type_dev_table(net, skb_dst(skb_in)->dev,
 				     fl4_dec.saddr) == RTN_LOCAL) {
 		rt2 = __ip_route_output_key(net, &fl4_dec);
 		if (IS_ERR(rt2))

Patches currently in stable-queue which might be from [email protected] are

queue-4.8/net-icmp6_send-should-use-dst-dev-to-determine-l3-domain.patch queue-4.8/net-icmp_route_lookup-should-use-rt-dev-to-determine-l3-domain.patch