commit | 05c5e7698bdc54b3079a3517d86077f49ebcc788 | [log] [tgz] |
---|---|---|
author | David S. Miller <davem@davemloft.net> | Mon Sep 20 23:24:52 2010 -0700 |
committer | David S. Miller <davem@davemloft.net> | Mon Sep 20 23:24:52 2010 -0700 |
tree | 07fe8d2d072d4d143c4edf4fea01ddcaff37840f | |
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>