aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2008-11-11 10:22:22 +1100
committerGreg Kroah-Hartman <gregkh@suse.de>2008-12-05 10:55:23 -0800
commit44f4142a449d476de768a9bc951b773af69e306c (patch)
tree75b4074f0256f9bca9ceb7aef950eea33a028170 /lib
parenta996495680c25e646ffb65ab0a660f49e4155737 (diff)
powerpc/spufs: Fix spinning in spufs_ps_fault on signal
commit 606572634c3faa5b32a8fc430266e6e9d78d2179 upstream. Currently, we can end up in an infinite loop if we get a signal while the kernel has faulted in spufs_ps_fault. Eg: alarm(1); write(fd, some_spu_psmap_register_address, 4); - the write's copy_from_user will fault on the ps mapping, and signal_pending will be non-zero. Because returning from the fault handler will never clear TIF_SIGPENDING, so we'll just keep faulting, resulting in an unkillable process using 100% of CPU. This change returns VM_FAULT_SIGBUS if there's a fatal signal pending, letting us escape the loop. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions