This needs to accout for the ipv4/ipv6 header size and the tcp
header without options.

Fixes: 6b5dc98e8fac0 ("netfilter: rt: add support to fetch path mss")
Reported-by: Matteo Croce <[email protected]>
Signed-off-by: Florian Westphal <[email protected]>
---
 net/netfilter/nft_rt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/netfilter/nft_rt.c b/net/netfilter/nft_rt.c
index e142e65d3176..8a49b5b54ede 100644
--- a/net/netfilter/nft_rt.c
+++ b/net/netfilter/nft_rt.c
@@ -35,10 +35,11 @@ static u16 get_tcpmss(const struct nft_pktinfo *pkt, const 
struct dst_entry *skb
        switch (nft_pf(pkt)) {
        case NFPROTO_IPV4:
                fl.u.ip4.daddr = ip_hdr(skb)->saddr;
-               minlen = sizeof(struct iphdr);
+               minlen = sizeof(struct iphdr) + sizeof(struct tcphdr);
                break;
        case NFPROTO_IPV6:
                fl.u.ip6.daddr = ipv6_hdr(skb)->saddr;
+               minlen = sizeof(struct ipv6hdr) + sizeof(struct tcphdr);
                break;
        }
 
-- 
2.13.0

--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to