History log of /arch/mips/kernel/signal.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8598f3cd80c860173d9b35d91c3dcb93eee13b54 14-Feb-2012 Matt Fleming <matt.fleming@intel.com> MIPS: Use set_current_blocked() and block_sigmask()

As described in e6fa16ab ("signal: sigprocmask() should do
retarget_shared_pending()") the modification of current->blocked is
incorrect as we need to check whether the signal we're about to block
is pending in the shared queue.

Also, use the new helper function introduced in commit 5e6292c0f28f
("signal: add block_sigmask() for adding sigmask to current->blocked")
which centralises the code for updating current->blocked after
successfully delivering a signal and reduces the amount of duplicate
code across architectures. In the past some architectures got this
code wrong, so using this helper function should stop that from
happening again.

Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: David Daney <ddaney@caviumnetworks.com>
Cc: linux-mips@linux-mips.org
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Patchwork: https://patchwork.linux-mips.org/patch/3363/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
b81947c646bfefdf98e2fde5d7d39cbbda8525d4 28-Mar-2012 David Howells <dhowells@redhat.com> Disintegrate asm/system.h for MIPS

Disintegrate asm/system.h for MIPS.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
cc: linux-mips@linux-mips.org
/arch/mips/kernel/signal.c
1f717929e987fc55bb6be02df994945f8edbd46c 27-Jul-2011 Ralf Baechle <ralf@linux-mips.org> MIPS: Handle __put_user() sleeping.

do_signal() does __put_user() which can fault, resulting in a might_sleep()
warning in down_read(&mm->mmap_sem) and a "scheduling while atomic" warning
when mmap_sem is contented. On Swarm this also results in:

WARNING: at kernel/smp.c:459 smp_call_function_many+0x148/0x398()
Modules linked in:
Call Trace:

[<ffffffff804b48a4>] dump_stack+0x1c/0x50
[<ffffffff8013dc94>] warn_slowpath_common+0x8c/0xc8
[<ffffffff8013dcfc>] warn_slowpath_null+0x2c/0x40
[<ffffffff801864a0>] smp_call_function_many+0x148/0x398
[<ffffffff80186748>] smp_call_function+0x58/0xa8
[<ffffffff80119b5c>] r4k_flush_data_cache_page+0x54/0xd8
[<ffffffff801f39bc>] handle_pte_fault+0xa9c/0xad0
[<ffffffff801f40d0>] handle_mm_fault+0x158/0x200
[<ffffffff80115548>] do_page_fault+0x218/0x3b0
[<ffffffff80102744>] ret_from_exception+0x0/0x10
[<ffffffff8010eb18>] copy_siginfo_to_user32+0x50/0x298
[<ffffffff8010edf0>] setup_rt_frame_32+0x90/0x250
[<ffffffff80106414>] do_notify_resume+0x154/0x358
[<ffffffff80102930>] work_notifysig+0xc/0x14

Fixed by enabling interrupts in do_notify_resume before delivering signals.

[ralf@linux-mips.org: Reported and original fix by tglx but I wanted to
minimize the amount of code being run with interrupts disabled so I moved
the local_irq_disable() call right into do_notify_resume. Which is saner
than doing it in entry.S.]

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
c726b822131e7fdb62745a5585449e6a159395e8 24-Jan-2011 David Daney <ddaney@caviumnetworks.com> MIPS: Fix GCC-4.6 'set but not used' warning in signal*.c

GCC-4.6 can find more unused code than previous versions could.

In the case of protected_restore_fp_context{,32}, the variable tmp is
really used. Its use is tricky in that we really care about the side
effects of the __put_user() calls. So we must mark tmp with
__maybe_unused to quiet the warning.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2035/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
4bfb8c5c87bd167640ef5789b22e058e339df804 28-Sep-2010 Al Viro <viro@ftp.linux.org.uk> MIPS: do_sigaltstack() expects userland pointers

o32 compat does the right thing, native and n32 compat do not...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/1700/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
8f5a00eb422ed86e77bb8f67e08b9fe6d30f679a 28-Sep-2010 Al Viro <viro@ftp.linux.org.uk> MIPS: Sanitize restart logics

Put the original syscall number into ->regs[0] when we leave syscall
with error. Use it in restart logics. Everything else will have
it 0 since we pass through SAVE_SOME on all the ways in. Note that
in places like bad_stack and inllegal_syscall we leave it 0 - it's not
restartable.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1698/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
062ab57b2f8439ab506645cf6f29432e7c61497c 28-Sep-2010 Al Viro <viro@ftp.linux.org.uk> MIPS: Don't block signals if we'd failed to setup a sigframe

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1696/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
d814c28ceca8f659c0012eaec8e21eee43710716 19-Feb-2010 David Daney <ddaney@caviumnetworks.com> MIPS: Move signal trampolines off of the stack.

This is a follow on to the vdso patch.

Since all processes now have signal trampolines permanently mapped, we
can use those instead of putting the trampoline on the stack and
invalidating the corresponding icache across all CPUs. We also get rid
of a bunch of ICACHE_REFILLS_WORKAROUND_WAR code.

[Ralf: GDB 7.1 which has the necessary modifications to allow backtracing
over signal frames will supposedly be released tomorrow. The old signal
frame format obsoleted by this patch exists in two variations, for sane
processors and for those requiring ICACHE_REFILLS_WORKAROUND_WAR. So
there was never a GDB which did support backtracing over signal frames
on all MIPS systems. This convinved me this series should be applied and
pushed upstream as soon as possible.]

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/974/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
137f6f3e284e8215a940cf20dbf2aef449fe5a60 24-Nov-2009 Ralf Baechle <ralf@linux-mips.org> MIPS: Cleanup signal code initialization

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Patchwork: http://patchwork.linux-mips.org/patch/709/
/arch/mips/kernel/signal.c
733e5e4b4eb1bc1e27acbe092200154051171426 09-Sep-2009 David Howells <dhowells@redhat.com> KEYS: Add missing linux/tracehook.h #inclusions

Add #inclusions of linux/tracehook.h to those arch files that had the tracehook
call for TIF_NOTIFY_RESUME added when support for that flag was added to that
arch.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
/arch/mips/kernel/signal.c
ee18d64c1f632043a02e6f5ba5e045bb26a5465f 02-Sep-2009 David Howells <dhowells@redhat.com> KEYS: Add a keyctl to install a process's session keyring on its parent [try #6]

Add a keyctl to install a process's session keyring onto its parent. This
replaces the parent's session keyring. Because the COW credential code does
not permit one process to change another process's credentials directly, the
change is deferred until userspace next starts executing again. Normally this
will be after a wait*() syscall.

To support this, three new security hooks have been provided:
cred_alloc_blank() to allocate unset security creds, cred_transfer() to fill in
the blank security creds and key_session_to_parent() - which asks the LSM if
the process may replace its parent's session keyring.

The replacement may only happen if the process has the same ownership details
as its parent, and the process has LINK permission on the session keyring, and
the session keyring is owned by the process, and the LSM permits it.

Note that this requires alteration to each architecture's notify_resume path.
This has been done for all arches barring blackfin, m68k* and xtensa, all of
which need assembly alteration to support TIF_NOTIFY_RESUME. This allows the
replacement to be performed at the point the parent process resumes userspace
execution.

This allows the userspace AFS pioctl emulation to fully emulate newpag() and
the VIOCSETTOK and VIOCSETTOK2 pioctls, all of which require the ability to
alter the parent process's PAG membership. However, since kAFS doesn't use
PAGs per se, but rather dumps the keys into the session keyring, the session
keyring of the parent must be replaced if, for example, VIOCSETTOK is passed
the newpag flag.

This can be tested with the following program:

#include <stdio.h>
#include <stdlib.h>
#include <keyutils.h>

#define KEYCTL_SESSION_TO_PARENT 18

#define OSERROR(X, S) do { if ((long)(X) == -1) { perror(S); exit(1); } } while(0)

int main(int argc, char **argv)
{
key_serial_t keyring, key;
long ret;

keyring = keyctl_join_session_keyring(argv[1]);
OSERROR(keyring, "keyctl_join_session_keyring");

key = add_key("user", "a", "b", 1, keyring);
OSERROR(key, "add_key");

ret = keyctl(KEYCTL_SESSION_TO_PARENT);
OSERROR(ret, "KEYCTL_SESSION_TO_PARENT");

return 0;
}

Compiled and linked with -lkeyutils, you should see something like:

[dhowells@andromeda ~]$ keyctl show
Session Keyring
-3 --alswrv 4043 4043 keyring: _ses
355907932 --alswrv 4043 -1 \_ keyring: _uid.4043
[dhowells@andromeda ~]$ /tmp/newpag
[dhowells@andromeda ~]$ keyctl show
Session Keyring
-3 --alswrv 4043 4043 keyring: _ses
1055658746 --alswrv 4043 4043 \_ user: a
[dhowells@andromeda ~]$ /tmp/newpag hello
[dhowells@andromeda ~]$ keyctl show
Session Keyring
-3 --alswrv 4043 4043 keyring: hello
340417692 --alswrv 4043 4043 \_ user: a

Where the test program creates a new session keyring, sticks a user key named
'a' into it and then installs it on its parent.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
/arch/mips/kernel/signal.c
d0420c83f39f79afb82010c2d2cafd150eef651b 02-Sep-2009 David Howells <dhowells@redhat.com> KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6]

Implement TIF_NOTIFY_RESUME for most of those architectures in which isn't yet
available, and, whilst we're at it, have it call the appropriate tracehook.

After this patch, blackfin, m68k* and xtensa still lack support and need
alteration of assembly code to make it work.

Resume notification can then be used (by a later patch) to install a new
session keyring on the parent of a process.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>

cc: linux-arch@vger.kernel.org
Signed-off-by: James Morris <jmorris@namei.org>
/arch/mips/kernel/signal.c
dbda6ac0897603f6c6dfadbbc37f9882177ec7ac 08-Feb-2009 Ralf Baechle <ralf@linux-mips.org> MIPS: CVE-2009-0029: Enable syscall wrappers.

Thanks to David Daney helping with debugging and testing.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
/arch/mips/kernel/signal.c
21a151d8ca3aa74ee79f9791a9d4dc370d3e0636 12-Oct-2007 Ralf Baechle <ralf@linux-mips.org> [MIPS] checkfiles: Fix "need space after that ','" errors.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
e63340ae6b6205fef26b40a75673d1c9c0c8bb90 08-May-2007 Randy Dunlap <randy.dunlap@oracle.com> header cleaning: don't include smp_lock.h when not used

Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
/arch/mips/kernel/signal.c
faea62346444ce5b1dba8fb5291d95b676522c42 16-Apr-2007 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Retry {save,restore}_fp_context if failed in atomic context.

The save_fp_context()/restore_fp_context() might sleep on accessing
user stack and therefore might lose FPU ownership in middle of them.

If these function failed due to "in_atomic" test in do_page_fault,
touch the sigcontext area in non-atomic context and retry these
save/restore operation.

This is a replacement of a (broken) fix which was titled "Allow CpU
exception in kernel partially".

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
5323180db75d562a287cb2020b07c9422df13df6 13-Apr-2007 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Disallow CpU exception in kernel again.

The commit 4d40bff7110e9e1a97ff8c01bdd6350e9867cc10 ("Allow CpU
exception in kernel partially") was broken. The commit was to fix
theoretical problem but broke usual case. Revert it for now.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
53dc80287da43b75df2fe2658651d3c5160dad8e 09-Mar-2007 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] FPU ownership management & preemption fixes

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
c6a2f4679331206ef5d353fc9a6cda2fa4aef8c6 09-Mar-2007 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Check FCSR for pending interrupts, alternative version

Commit 6d6671066a311703bca1b91645bb1e04cc983387 is incomplete and misses
non-r4k CPUs. This patch reverts the commit and fixes in other way.

o Do FCSR checking in caller of restore_fp_context.
o Send SIGFPE if the signal handler set any FPU exception bits.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
9693a85378b590cc7a4aa2db2174422585c7c8c4 02-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] Add basic SMARTMIPS ASE support

This patch adds trivial support for SMARTMIPS extension. This extension
is currently implemented by 4KS[CD] CPUs.

Basically it saves/restores ACX register, which is part of the SMARTMIPS
ASE, when needed. This patch does *not* add any support for Smartmips MMU
features.

Futhermore this patch does not add explicit support for 4KS[CD] CPUs since
they are respectively mips32 and mips32r2 compliant. So with the current
processor configuration, a platform that has such CPUs needs to select
both configs:

CPU_HAS_SMARTMIPS
SYS_HAS_CPU_MIPS32_R[12]

This is due to the processor configuration which is mixing up all the
architecture variants and the processor types.

The drawback of this, is that we currently pass '-march=mips32' option to
gcc when building a kernel instead of '-march=4ksc' for 4KSC case. This
can lead to a kernel image a little bit bigger than required.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
151fd6acd94e12ef3a7d5fa0911a2590690c493f 15-Feb-2007 Ralf Baechle <ralf@linux-mips.org> [MIPS] signals: Share even more code.

native and compat do_signal and handle_signal are identical and can easily
be unified.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
24c556e99ec8a61ce1fbc75bee61dc19edf2c4df 09-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signals: make common _BLOCKABLE macro

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
66680583461d7cae281cef63c050c9b6371e3286 13-Feb-2007 Ralf Baechle <ralf@linux-mips.org> [MIPS] signal: Move sigframe definition for native O32/N64 into signal.c

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
e692eb30ffc2b99e62f766f9958f46dfdc1013cc 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: do not inline handle_signal()

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
f90080a059fc19444b3a63affd1f4ecece62c11c 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: do not use save_static_function() anymore

This macro was used to save static registers before calling
sys_sigsuspend() and sys_sigreturn().

For the sys_sigreturn() case, there's no point to save them
since they have been already saved by setup_sigcontext()
before calling the signal handler.

For the sys_sigsuspend() case, I don't see any reasons...

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
722bb63de630f9500db1f12ed32e1dd9349a8049 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: factorize debug code

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
601dde45f698ee1be5fe03a68b895efe6ca6b858 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: test return value of install_sigtramp()

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
c0b9bae9d18980afa1797fb7b75adb4fbc837b66 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: clean up sigframe structure

This patch makes 'struct sigframe' declaration avalaible for all signals
code. It allows signal32 to not have its own declaration.

This patch also removes all ICACHE_REFILLS_WORKAROUND_WAR tests in
structure declaration and hopefully make them more readable.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
c3fc4ab36d495f50ccc89986fe32eeabc2549fa1 05-Feb-2007 Franck Bui-Huu <fbuihuu@gmail.com> [MIPS] signal: do not inline functions in signal-common.h

These functions are quite big and there are no points to make
them inlined. So this patch moves the functions implementation
in signal.c and make them available for others source files
which need them.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
e0daad449c5195fa4552c60392eeee4e5c58d31c 05-Feb-2007 Ralf Baechle <ralf@linux-mips.org> [MIPS] Whitespace cleanups.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
13fdd31abec5f48cf97693bd14d2e11e0779b4ca 08-Aug-2006 Ralf Baechle <ralf@linux-mips.org> [MIPS] Avoid double signal restarting.

In entry.S resume_userspace ... jal do_notify_resume form a loop through
which the kernel will iterate as long as work is pending. If we
iterate through this loop more than once with no signal pending for at
least one but the last iteration we will take do the syscall restarting
multiple times resulting in a syscall return prior to the the syscall
instruction in userspace. This may happen when debugging a multithreaded
program.

Debugging and original fix by Maciej; extended to other ABIs by me.

Signed-off-by: Maciej W. Rozycki <macro@mips.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
45887e12f21780f00b861fdaff8e9d02a42eeb0f 03-Aug-2006 Ralf Baechle <ralf@linux-mips.org> [MIPS] Add missing returns in signal code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
048c6140c0f5d0bb1af8308c91dfa560ac65a296 03-Aug-2006 Ralf Baechle <ralf@linux-mips.org> [MIPS] Don't call try_to_freeze in do_signal & co.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
6ab3d5624e172c553004ecc862bfeac16d9d68b7 30-Jun-2006 Jörn Engel <joern@wohnheim.fh-wedel.de> Remove obsolete #include <linux/config.h>

Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
/arch/mips/kernel/signal.c
9c6031cc93626a194a9ef32d62b078ef1b396c45 19-Feb-2006 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Signal cleanup

Move function prototypes to asm/signal.h to detect trivial errors and
add some __user tags to get rid of sparse warnings. Generated code
should not be changed.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
40ac5d479b7deb98f6ccc4a7a29ee62dba7a798f 08-Feb-2006 Ralf Baechle <ralf@linux-mips.org> [MIPS] Make do_signal return void.

It's return value is ignored everywhere.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

---
/arch/mips/kernel/signal.c
7b3e2fc847c8325a7b35185fa1fc2f1729ed9c5b 08-Feb-2006 Ralf Baechle <ralf@linux-mips.org> [MIPS] Add support for TIF_RESTORE_SIGMASK.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

---
/arch/mips/kernel/signal.c
5665a0ac59a656b94cbf3c4642b32024a6c1cf75 01-Feb-2006 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Fix minor sparse warnings

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
9bbf28a36cae08817ac3a3f98fde329b02c89f4a 31-Jan-2006 Atsushi Nemoto <anemo@mba.ocn.ne.jp> [MIPS] Sparse: Add some __user tags to signal functions.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
85b05496024fd913da2c1fbea711ebcdfd40c2f3 30-Nov-2005 Ralf Baechle <ralf@linux-mips.org> [MIPS] Avoid duplicate do_syscall_trace calls on return from sigreturn.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
16cd3951366a013d52006982108437d3343c2fae 05-Nov-2005 Atsushi Nemoto <anemo@mba.ocn.ne.jp> Fix return type of setup_frame variants

Since 2.6.13-rc1 setup_frame and its variants return int. But some bits
were missed in the conversion.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
129bc8f78b468df6824dd1584829f10aa3a69c27 11-Jul-2005 Ralf Baechle <ralf@linux-mips.org> Setup_frame is now returning a success value.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
02416dcf5a94af34bcd28b4baf25bbbf399d8136 15-Jun-2005 Ralf Baechle <ralf@linux-mips.org> Redo RM9000 workaround which along with other DSP ASE changes was
causing some headache for debuggers knowing about signal frames.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
e50c0a8fa60da9ac0e0a70caa8a3a803815c1f2f 31-May-2005 Ralf Baechle <ralf@linux-mips.org> Support the MIPS32 / MIPS64 DSP ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
fe00f943e0ef98b4057abcc2940d631a975b43cd 01-Mar-2005 Ralf Baechle <ralf@linux-mips.org> Sparseify MIPS.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
/arch/mips/kernel/signal.c
69be8f189653cd81aae5a74e26615b12871bb72e 29-Aug-2005 Steven Rostedt <rostedt@goodmis.org> [PATCH] convert signal handling of NODEFER to act like other Unix boxes.

It has been reported that the way Linux handles NODEFER for signals is
not consistent with the way other Unix boxes handle it. I've written a
program to test the behavior of how this flag affects signals and had
several reports from people who ran this on various Unix boxes,
confirming that Linux seems to be unique on the way this is handled.

The way NODEFER affects signals on other Unix boxes is as follows:

1) If NODEFER is set, other signals in sa_mask are still blocked.

2) If NODEFER is set and the signal is in sa_mask, then the signal is
still blocked. (Note: this is the behavior of all tested but Linux _and_
NetBSD 2.0 *).

The way NODEFER affects signals on Linux:

1) If NODEFER is set, other signals are _not_ blocked regardless of
sa_mask (Even NetBSD doesn't do this).

2) If NODEFER is set and the signal is in sa_mask, then the signal being
handled is not blocked.

The patch converts signal handling in all current Linux architectures to
the way most Unix boxes work.

Unix boxes that were tested: DU4, AIX 5.2, Irix 6.5, NetBSD 2.0, SFU
3.5 on WinXP, AIX 5.3, Mac OSX, and of course Linux 2.6.13-rcX.

* NetBSD was the only other Unix to behave like Linux on point #2. The
main concern was brought up by point #1 which even NetBSD isn't like
Linux. So with this patch, we leave NetBSD as the lonely one that
behaves differently here with #2.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/arch/mips/kernel/signal.c
d4b3a80e399c989028acd5185c792fab82eda035 27-Jun-2005 Yoichi Yuasa <yuasa@hh.iij4u.or.jp> [PATCH] mips: fixed try_to_freeze build error

arch/mips/kernel/signal.c: In function 'do_signal':
arch/mips/kernel/signal.c:460: error: too many arguments to function 'try_to_freeze'

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
/arch/mips/kernel/signal.c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 17-Apr-2005 Linus Torvalds <torvalds@ppc970.osdl.org> Linux-2.6.12-rc2

Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
/arch/mips/kernel/signal.c