From: Jeremy Kerr Date: Mon, 10 Nov 2008 23:22:22 +0000 (+1100) Subject: powerpc/spufs: Fix spinning in spufs_ps_fault on signal X-Git-Tag: v2.6.28-rc7~37^2~6^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=606572634c3faa5b32a8fc430266e6e9d78d2179;p=pandora-kernel.git powerpc/spufs: Fix spinning in spufs_ps_fault on signal 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 --- Reading git-diff-tree failed