diff options
| author | Matthew Wilcox <[email protected]> | 2016-02-03 00:57:55 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2016-02-03 16:28:43 +0000 |
| commit | c6400ba7e13a41539342f1b6e1f9e78419cb0148 (patch) | |
| tree | 4ac7cac19e5d9cfc275a7d99f11ea21026f20275 /lib/dump_stack.c | |
| parent | radix-tree: fix race in gang lookup (diff) | |
| download | kernel-c6400ba7e13a41539342f1b6e1f9e78419cb0148.tar.gz kernel-c6400ba7e13a41539342f1b6e1f9e78419cb0148.zip | |
drivers/hwspinlock: fix race between radix tree insertion and lookup
of_hwspin_lock_get_id() is protected by the RCU lock, which means that
insertions can occur simultaneously with the lookup. If the radix tree
transitions from a height of 0, we can see a slot with the indirect_ptr
bit set, which will cause us to at least read random memory, and could
cause other havoc.
Fix this by using the newly introduced radix_tree_iter_retry().
Signed-off-by: Matthew Wilcox <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Ohad Ben-Cohen <[email protected]>
Cc: Konstantin Khlebnikov <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/dump_stack.c')
0 files changed, 0 insertions, 0 deletions
