Skip to contentSkip to conversation

Patch "ip_forward: Drop frames with attached skb->sk" has been added to the 4.0-stable tree

PATCH [email protected] 1 participant 1 message Apr 29, 2015

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

    ip_forward: Drop frames with attached skb->sk

to the 4.0-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:
ip_forward-drop-frames-with-attached-skb-sk.patch
and it can be found in the queue-4.0 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 Wed Apr 29 11:59:49 CEST 2015

From: =?UTF-8?q?Sebastian=20P=C3=B6hn?= <[email protected]>
Date: Mon, 20 Apr 2015 09:19:20 +0200
Subject: ip_forward: Drop frames with attached skb->sk

From: =?UTF-8?q?Sebastian=20P=C3=B6hn?= <[email protected]>

[ Upstream commit 2ab957492d13bb819400ac29ae55911d50a82a13 ]

Initial discussion was:
[FYI] xfrm: Don't lookup sk_policy for timewait sockets

Forwarded frames should not have a socket attached. Especially tw sockets will lead to panics later-on in the stack.

This was observed with TPROXY assigning a tw socket and broken policy routing (misconfigured). As a result frame enters forwarding path instead of input. We cannot solve this in TPROXY as it cannot know that policy routing is broken.

v2:
Remove useless comment

---
 net/ipv4/ip_forward.c |    3 +++
 1 file changed, 3 insertions(+)
net/ipv4/ip_forward.c +3 -0
@@ -82,6 +82,9 @@ int ip_forward(struct sk_buff *skb)
 	if (skb->pkt_type != PACKET_HOST)
 		goto drop;
 
+	if (unlikely(skb->sk))
+		goto drop;
+
 	if (skb_warn_if_lro(skb))
 		goto drop;
 

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

queue-4.0/ip_forward-drop-frames-with-attached-skb-sk.patch