CVSROOT: /home/cvs
Module name: linux
Changes by: ralf@ftp.linux-mips.org 05/04/13 19:18:04
Modified files:
arch/mips/kernel: signal32.c
Log message:
We pass a kernel pointer to do_sigaltstack in sys32_sigaltstack, so
we need to do the set_fs(KERNEL_DS) thing around this call.
diff -urN linux/arch/mips/kernel/signal32.c linux/arch/mips/kernel/signal32.c
--- linux/arch/mips/kernel/signal32.c 2005/03/18 17:36:53 1.27
+++ linux/arch/mips/kernel/signal32.c 2005/04/13 18:18:04 1.28
@@ -488,6 +488,7 @@
_sys32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
{
struct rt_sigframe32 *frame;
+ mm_segment_t old_fs;
sigset_t set;
stack_t st;
s32 sp;
@@ -518,7 +519,10 @@
/* It is more difficult to avoid calling this function than to
call it and ignore errors. */
+ old_fs = get_fs();
+ set_fs (KERNEL_DS);
do_sigaltstack(&st, NULL, regs.regs[29]);
+ set_fs (old_fs);
/*
* Don't let your children do this ...
|