diff options
author | David S. Miller <davem@davemloft.net> | 2010-09-21 02:24:52 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-09-21 02:24:52 -0400 |
commit | 05c5e7698bdc54b3079a3517d86077f49ebcc788 (patch) | |
tree | 07fe8d2d072d4d143c4edf4fea01ddcaff37840f /arch/sparc/kernel/signal_32.c | |
parent | b343ae51c116dffaef07a8596661774c12212b66 (diff) |
sparc64: Fix race in signal instruction flushing.
If another cpu does a very wide munmap() on the signal frame area,
it can tear down the page table hierarchy from underneath us.
Borrow an idea from the 64-bit fault path's get_user_insn(), and
disable cross call interrupts during the page table traversal
to lock them in place while we operate.
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/signal_32.c')
0 files changed, 0 insertions, 0 deletions