aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorPeter Zijlstra <[email protected]>2010-10-27 15:32:58 -0700
committerLinus Torvalds <[email protected]>2010-10-27 18:03:05 -0700
commit20273941f2129aa5a432796d98a276ed73d60782 (patch)
tree85da0d951ac10f239f81ad7f69559fdeb692095b /tools/perf/scripts/python
parenta8e23a291852cd7c4fb5ca696dbb93912185ad10 (diff)
mm: fix race in kunmap_atomic()
Christoph reported a nice splat which illustrated a race in the new stack based kmap_atomic implementation. The problem is that we pop our stack slot before we're completely done resetting its state -- in particular clearing the PTE (sometimes that's CONFIG_DEBUG_HIGHMEM). If an interrupt happens before we actually clear the PTE used for the last slot, that interrupt can reuse the slot in a dirty state, which triggers a BUG in kmap_atomic(). Fix this by introducing kmap_atomic_idx() which reports the current slot index without actually releasing it and use that to find the PTE and delay the _pop() until after we're completely done. Signed-off-by: Peter Zijlstra <[email protected]> Reported-by: Christoph Hellwig <[email protected]> Acked-by: Rik van Riel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions