Thank you for the reviews! On Tue, Jul 16, 2019 at 4:56 AM Lorenz Bauer <lmb@xxxxxxxxxxxxxx> wrote: > > On Tue, 16 Jul 2019 at 08:59, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > > > + return -EINVAL; > > > + > > > + if (sk->sk_protocol != IPPROTO_TCP || sk->sk_state != TCP_LISTEN) > > > + return -EINVAL; > > > + > > > + if (!sock_net(sk)->ipv4.sysctl_tcp_syncookies) > > > + return -EINVAL; > > > + > > > + if (!th->syn || th->ack || th->fin || th->rst) > > > + return -EINVAL; > > > + > > > + switch (sk->sk_family) { > > > > This is strange, because a dual stack listener will have sk->sk_family set to AF_INET6. > > > > What really matters here is if the packet is IPv4 or IPv6. > > > > So you need to look at iph->version instead. > > > > Then look if the socket family allows this packet to be processed > > (For example AF_INET6 sockets might prevent IPv4 packets, see sk->sk_ipv6only ) This makes a lot of sense, thanks Eric, will update! > > Does this apply for (the existing) tcp_check_syn_cookie as well? I think we will probably have to update the check there, too. > > -- > Lorenz Bauer | Systems Engineer > 6th Floor, County Hall/The Riverside Building, SE1 7PB, UK > > www.cloudflare.com