netfilter: don't track fragmented packets
[GitHub/exynos8895/android_kernel_samsung_universal8895.git] / net / ipv4 / netfilter / nf_conntrack_l3proto_ipv4.c
index 461ca926fd39408613f62a3de8bfc5ff4cbce7f6..6a20195a3a2adf17e2c12131390a8ccea468895b 100644 (file)
@@ -158,6 +158,10 @@ static unsigned int ipv4_conntrack_local(void *priv,
        if (skb->len < sizeof(struct iphdr) ||
            ip_hdrlen(skb) < sizeof(struct iphdr))
                return NF_ACCEPT;
+
+       if (ip_is_fragment(ip_hdr(skb))) /* IP_NODEFRAG setsockopt set */
+               return NF_ACCEPT;
+
        return nf_conntrack_in(state->net, PF_INET, state->hook, skb);
 }