This closes a race where an ipq6hashfn() caller could get a hash value and race with the cycling of the random seed. By the time they got to the read_lock they'd have a stale hash value and might not find previous fragments of their datagram. This matches the previous patch to IPv4. Signed-off-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| netfilter | ||
| addrconf.c | ||
| af_inet6.c | ||
| ah6.c | ||
| anycast.c | ||
| datagram.c | ||
| esp6.c | ||
| exthdrs.c | ||
| exthdrs_core.c | ||
| icmp.c | ||
| inet6_connection_sock.c | ||
| inet6_hashtables.c | ||
| ip6_fib.c | ||
| ip6_flowlabel.c | ||
| ip6_input.c | ||
| ip6_output.c | ||
| ip6_tunnel.c | ||
| ipcomp6.c | ||
| ipv6_sockglue.c | ||
| ipv6_syms.c | ||
| Kconfig | ||
| Makefile | ||
| mcast.c | ||
| ndisc.c | ||
| netfilter.c | ||
| proc.c | ||
| protocol.c | ||
| raw.c | ||
| reassembly.c | ||
| route.c | ||
| sit.c | ||
| sysctl_net_ipv6.c | ||
| tcp_ipv6.c | ||
| tunnel6.c | ||
| udp.c | ||
| xfrm6_input.c | ||
| xfrm6_output.c | ||
| xfrm6_policy.c | ||
| xfrm6_state.c | ||
| xfrm6_tunnel.c | ||