diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index 977bb6b78b0ccc643686f6e36efc6618c9f88e60..b0bda93c595d85897c48b702dd7ffaa997ff8f67 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c @@ -1174,8 +1174,8 @@ COMPAT_SYSCALL_DEFINE2(clock_adjtime, clockid_t, which_clock, err = kc->clock_adj(which_clock, &ktx); - if (err >= 0) - err = compat_put_timex(utp, &ktx); + if (err >= 0 && compat_put_timex(utp, &ktx)) + return -EFAULT; return err; }