summaryrefslogtreecommitdiff
path: root/security/keys/key.c
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2012-03-09 07:20:49 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2012-03-14 17:25:56 +0800
commit2dc9b5dbdef09840de852a4f0cc6a9c9eece7220 (patch)
tree4164272ddddfc2477005866ce3261c76470c0d1a /security/keys/key.c
parent3047817b894ddae62be07787bc8735a616104398 (diff)
downloadlwn-2dc9b5dbdef09840de852a4f0cc6a9c9eece7220.tar.gz
lwn-2dc9b5dbdef09840de852a4f0cc6a9c9eece7220.zip
padata: Fix race on sequence number wrap
When padata_do_parallel() is called from multiple cpus for the same padata instance, we can get object reordering on sequence number wrap because testing for sequence number wrap and reseting the sequence number must happen atomically but is implemented with two atomic operations. This patch fixes this by converting the sequence number from atomic_t to an unsigned int and protect the access with a spin_lock. As a side effect, we get rid of the sequence number wrap handling because the seqence number wraps back to null now without the need to do anything. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'security/keys/key.c')
0 files changed, 0 insertions, 0 deletions