]> git.baikalelectronics.ru Git - kernel.git/commit
inet fragments: fix race between inet_frag_find and inet_frag_secret_rebuild
authorPavel Emelyanov <xemul@openvz.org>
Sat, 28 Jun 2008 03:06:08 +0000 (20:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Jun 2008 03:06:08 +0000 (20:06 -0700)
commit9d2456376962a41de3173b5f910e7447c071bb18
treefba3b0835d1fb3211da1c1be9dd6d4508e6668a6
parentd077309aec0a6cf4befaa6a0220f30206d16d844
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 18164cd38ed29d4e2efd335d52e7497ef770115c
([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>
net/ipv4/inet_fragment.c
net/ipv4/ip_fragment.c
net/ipv6/netfilter/nf_conntrack_reasm.c
net/ipv6/reassembly.c