diff --git a/kernel/time/posix-clock.c b/kernel/time/posix-clock.c index 6b5d5c0021fa..6ad8d3e246dc 100644 --- a/kernel/time/posix-clock.c +++ b/kernel/time/posix-clock.c @@ -291,6 +291,9 @@ static int pc_clock_getres(clockid_t id, struct timespec64 *ts) struct posix_clock_desc cd; int err; + if (!timespec64_valid_strict(ts)) + return -EINVAL; + err = get_clock_desc(id, &cd); if (err) return err; @@ -319,9 +322,6 @@ static int pc_clock_settime(clockid_t id, const struct timespec64 *ts) goto out; } - if (!timespec64_valid_strict(ts)) - return -EINVAL; - if (cd.clk->ops.clock_settime) err = cd.clk->ops.clock_settime(cd.clk, ts); else