|
@@ -560,11 +560,6 @@ SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
|
|
|
new_timer->it_clock = which_clock;
|
|
|
new_timer->it_overrun = -1;
|
|
|
|
|
|
- if (copy_to_user(created_timer_id,
|
|
|
- &new_timer_id, sizeof (new_timer_id))) {
|
|
|
- error = -EFAULT;
|
|
|
- goto out;
|
|
|
- }
|
|
|
if (timer_event_spec) {
|
|
|
if (copy_from_user(&event, timer_event_spec, sizeof (event))) {
|
|
|
error = -EFAULT;
|
|
@@ -590,6 +585,12 @@ SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,
|
|
|
new_timer->sigq->info.si_tid = new_timer->it_id;
|
|
|
new_timer->sigq->info.si_code = SI_TIMER;
|
|
|
|
|
|
+ if (copy_to_user(created_timer_id,
|
|
|
+ &new_timer_id, sizeof (new_timer_id))) {
|
|
|
+ error = -EFAULT;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
+
|
|
|
error = CLOCK_DISPATCH(which_clock, timer_create, (new_timer));
|
|
|
if (error)
|
|
|
goto out;
|