ip_forward: Drop frames with attached skb->sk
Subsystems (3)
PATCH v2 1/1 ip_forward: Drop frames with attached skb->sk
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 -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;
--
David Miller
maintainerFrom: Sebastian Poehn <[email protected]>
Date: Mon, 20 Apr 2015 09:19:20 +0200
Quoted 11 lines
Initial discussion was:
[FYI] xfrm: Don't lookupsk_policyfor timewait socketsForwarded 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.
Quoted 4 lines
v2:
Remove useless commentSigned-off-by Sebastian Poehn <[email protected]>
Applied and queued up for -stable, thanks Sebastian.