inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild
The problem is that while we work w/o the inet_frags.lock even read-locked the secret rebuild timer may occur (on another CPU, since BHs are still disabled in the inet_frag_find) and change the rnd seed for ipv4/6 fragments. It was caused by my patch fd9e6354 ([INET]: Omit double hash calculations in xxx_frag_intern) late in the 2.6.24 kernel, so this should probably be queued to -stable. Signed-off-by:Pavel Emelyanov <xemul@openvz.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- net/ipv4/inet_fragment.c 11 additions, 5 deletionsnet/ipv4/inet_fragment.c
- net/ipv4/ip_fragment.c 2 additions, 0 deletionsnet/ipv4/ip_fragment.c
- net/ipv6/netfilter/nf_conntrack_reasm.c 2 additions, 1 deletionnet/ipv6/netfilter/nf_conntrack_reasm.c
- net/ipv6/reassembly.c 2 additions, 0 deletionsnet/ipv6/reassembly.c
Loading
Please register or sign in to comment