diff options
author | Manfred Spraul <[email protected]> | 2008-12-01 13:14:02 -0800 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2008-12-01 19:55:25 -0800 |
commit | 6ff2d39b91aec3dcae951afa982059e3dd9b49dc (patch) | |
tree | 8d480975d95adf85f3a87dd478e36e4ac0b0edd0 /net/lapb/lapb_subr.c | |
parent | 1d678f365dae28420fa7329a2a35390b3582678d (diff) |
lib/idr.c: fix rcu related race with idr_find
2nd part of the fixes needed for
http://bugzilla.kernel.org/show_bug.cgi?id=11796.
When the idr tree is either grown or shrunk, then the update to the number
of layers and the top pointer were not atomic. This race caused crashes.
The attached patch fixes that by replicating the layers counter in each
layer, thus idr_find doesn't need idp->layers anymore.
Signed-off-by: Manfred Spraul <[email protected]>
Cc: Clement Calmels <[email protected]>
Cc: Nadia Derbey <[email protected]>
Cc: Pierre Peiffer <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions