mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-21 23:16:50 +08:00
Merge tag 'timers-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer fix from Ingo Molnar: "Make clock_adjtime() syscall timex validation slightly more permissive for auxiliary clocks, to not reject syscalls based on the status field that do not try to modify the status field. This makes the ABI behavior in clock_adjtime() consistent with CLOCK_REALTIME" * tag 'timers-urgent-2026-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timekeeping: Fix timex status validation for auxiliary clocks
This commit is contained in:
@@ -2653,7 +2653,8 @@ static int timekeeping_validate_timex(const struct __kernel_timex *txc, bool aux
|
||||
|
||||
if (aux_clock) {
|
||||
/* Auxiliary clocks are similar to TAI and do not have leap seconds */
|
||||
if (txc->status & (STA_INS | STA_DEL))
|
||||
if (txc->modes & ADJ_STATUS &&
|
||||
txc->status & (STA_INS | STA_DEL))
|
||||
return -EINVAL;
|
||||
|
||||
/* No TAI offset setting */
|
||||
@@ -2661,7 +2662,8 @@ static int timekeeping_validate_timex(const struct __kernel_timex *txc, bool aux
|
||||
return -EINVAL;
|
||||
|
||||
/* No PPS support either */
|
||||
if (txc->status & (STA_PPSFREQ | STA_PPSTIME))
|
||||
if (txc->modes & ADJ_STATUS &&
|
||||
txc->status & (STA_PPSFREQ | STA_PPSTIME))
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user