|
@@ -477,7 +477,7 @@ static struct rtable *icmp_route_lookup(struct net *net,
|
|
|
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(struct net *net,
|
|
|
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))
|