aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/posix-timers.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/posix-timers.c')
-rw-r--r--kernel/posix-timers.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
index 7be385fe4eca..3eff47b0d8d5 100644
--- a/kernel/posix-timers.c
+++ b/kernel/posix-timers.c
@@ -510,10 +510,6 @@ sys_timer_create(const clockid_t which_clock,
510 error = -EFAULT; 510 error = -EFAULT;
511 goto out; 511 goto out;
512 } 512 }
513 new_timer->it_sigev_notify = event.sigev_notify;
514 new_timer->it_sigev_signo = event.sigev_signo;
515 new_timer->it_sigev_value = event.sigev_value;
516
517 rcu_read_lock(); 513 rcu_read_lock();
518 process = good_sigevent(&event); 514 process = good_sigevent(&event);
519 if (process) 515 if (process)
@@ -524,17 +520,18 @@ sys_timer_create(const clockid_t which_clock,
524 goto out; 520 goto out;
525 } 521 }
526 } else { 522 } else {
527 new_timer->it_sigev_notify = SIGEV_SIGNAL; 523 event.sigev_notify = SIGEV_SIGNAL;
528 new_timer->it_sigev_signo = SIGALRM; 524 event.sigev_signo = SIGALRM;
529 new_timer->it_sigev_value.sival_int = new_timer->it_id; 525 event.sigev_value.sival_int = new_timer->it_id;
530 process = current->group_leader; 526 process = current->group_leader;
531 get_task_struct(process); 527 get_task_struct(process);
532 } 528 }
533 529
534 new_timer->sigq->info.si_code = SI_TIMER; 530 new_timer->it_sigev_notify = event.sigev_notify;
531 new_timer->sigq->info.si_signo = event.sigev_signo;
532 new_timer->sigq->info.si_value = event.sigev_value;
535 new_timer->sigq->info.si_tid = new_timer->it_id; 533 new_timer->sigq->info.si_tid = new_timer->it_id;
536 new_timer->sigq->info.si_signo = new_timer->it_sigev_signo; 534 new_timer->sigq->info.si_code = SI_TIMER;
537 new_timer->sigq->info.si_value = new_timer->it_sigev_value;
538 535
539 spin_lock_irq(&current->sighand->siglock); 536 spin_lock_irq(&current->sighand->siglock);
540 new_timer->it_process = process; 537 new_timer->it_process = process;