Patch "netfilter: use skb_to_full_sk in ip_route_me_harder" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
netfilter: use skb_to_full_sk in ip_route_me_harder
to the 4.9-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:
netfilter-use-skb_to_full_sk-in-ip_route_me_harder.patch
and it can be found in the queue-4.9 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
29e09229d9f26129a39462fae0ddabc4d9533989Mon Sep 17 00:00:00 2001
From: Florian Westphal <[email protected]>
Date: Fri, 17 Feb 2017 08:39:28 +0100
Subject: netfilter: use skb_to_full_sk in ip_route_me_harder
From: Florian Westphal <[email protected]>
commit 29e09229d9f26129a39462fae0ddabc4d9533989 upstream.
inet_sk(skb->sk) is illegal in case skb is attached to request socket.
Reported by: Daniel J Blueman <[email protected]>
--- net/ipv4/netfilter.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
net/ipv4/netfilter.c +4 -3
@@ -23,7 +23,8 @@ int ip_route_me_harder(struct net *net,struct rtable *rt;struct flowi4 fl4 = {};__be32 saddr = iph->saddr; -__u8 flags = skb->sk ?inet_sk_flowi_flags (skb->sk) :0 ; +const struct sock *sk =skb_to_full_sk (skb); +__u8 flags = sk ?inet_sk_flowi_flags (sk) :0 ;struct net_device *dev =skb_dst (skb)->dev;unsigned int hh_len;
@@ -40,7 +41,7 @@ int ip_route_me_harder(struct net *net, fl4.daddr = iph->daddr; fl4.saddr = saddr; fl4.flowi4_tos =RT_TOS (iph->tos); - fl4.flowi4_oif = skb->sk ? skb->sk->sk_bound_dev_if :0 ; + fl4.flowi4_oif = sk ? sk->sk_bound_dev_if :0 ;if (!fl4.flowi4_oif) fl4.flowi4_oif =l3mdev_master_ifindex (dev); fl4.flowi4_mark = skb->mark;
@@ -61,7 +62,7 @@ int ip_route_me_harder(struct net *net, xfrm_decode_session(skb, flowi4_to_flowi(&fl4), AF_INET) == 0) {struct dst_entry *dst =skb_dst (skb);skb_dst_set (skb,NULL ); - dst =xfrm_lookup (net, dst,flowi4_to_flowi (&fl4), skb->sk,0 ); + dst =xfrm_lookup (net, dst,flowi4_to_flowi (&fl4), sk,0 );if (IS_ERR (dst))return PTR_ERR (dst);skb_dst_set (skb, dst);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/netfilter-use-skb_to_full_sk-in-ip_route_me_harder.patch