aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/signal_32.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-09-21 02:24:52 -0400
committerDavid S. Miller <davem@davemloft.net>2010-09-21 02:24:52 -0400
commit05c5e7698bdc54b3079a3517d86077f49ebcc788 (patch)
tree07fe8d2d072d4d143c4edf4fea01ddcaff37840f /arch/sparc/kernel/signal_32.c
parentb343ae51c116dffaef07a8596661774c12212b66 (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