posix-timers: Fix clock_adjtime to always return timex data on success

The clock_adj call returns the clock state on success, which may be a
non-zero value (e.g. TIME_INS), but the modified timex data is copied
back to the user only when zero value (TIME_OK) was returned. Fix the
condition to copy the data also with positive return values.

Signed-off-by: Miroslav Lichvar <mlichvar@redhat.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
This commit is contained in:
Miroslav Lichvar 2013-01-11 11:58:58 +01:00 коммит произвёл John Stultz
Родитель 2353b47bff
Коммит f0dbe81f0e
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -997,7 +997,7 @@ SYSCALL_DEFINE2(clock_adjtime, const clockid_t, which_clock,
err = kc->clock_adj(which_clock, &ktx); err = kc->clock_adj(which_clock, &ktx);
if (!err && copy_to_user(utx, &ktx, sizeof(ktx))) if (err >= 0 && copy_to_user(utx, &ktx, sizeof(ktx)))
return -EFAULT; return -EFAULT;
return err; return err;