aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/kernel/signal32.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index d50daee51fba..18c028ba9efa 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -76,8 +76,10 @@ typedef struct compat_siginfo {
76 76
77 /* POSIX.1b timers */ 77 /* POSIX.1b timers */
78 struct { 78 struct {
79 unsigned int _timer1; 79 timer_t _tid; /* timer id */
80 unsigned int _timer2; 80 int _overrun; /* overrun count */
81 sigval_t32 _sigval; /* same as below */
82 int _sys_private; /* not to be passed to user */
81 } _timer; 83 } _timer;
82 84
83 /* POSIX.1b signals */ 85 /* POSIX.1b signals */
@@ -411,6 +413,11 @@ int copy_siginfo_to_user32(compat_siginfo_t *to, siginfo_t *from)
411 err |= __copy_to_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE); 413 err |= __copy_to_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE);
412 else { 414 else {
413 switch (from->si_code >> 16) { 415 switch (from->si_code >> 16) {
416 case __SI_TIMER >> 16:
417 err |= __put_user(from->si_tid, &to->si_tid);
418 err |= __put_user(from->si_overrun, &to->si_overrun);
419 err |= __put_user(from->si_int, &to->si_int);
420 break;
414 case __SI_CHLD >> 16: 421 case __SI_CHLD >> 16:
415 err |= __put_user(from->si_utime, &to->si_utime); 422 err |= __put_user(from->si_utime, &to->si_utime);
416 err |= __put_user(from->si_stime, &to->si_stime); 423 err |= __put_user(from->si_stime, &to->si_stime);