mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
posix-timers: Accept NULL clock_getres() output in stubs
With CONFIG_POSIX_TIMERS disabled, clock_getres() returns -EFAULT for a supported clock when the result pointer is NULL. POSIX permits a NULL result pointer to suppress returning the clock resolution. Only copy the result when a destination is provided, in both the native and time32 stubs. This matches the full POSIX timer implementation and preserves clock ID validation. Fixes:baa73d9e47("posix-timers: Make them configurable") Fixes:d822cdcce4("posix-timers: Move compat versions of clock_gettime/settime/getres") Signed-off-by: Hungyu Lin <dennylin0707@gmail.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20261020161121.85042-1-dennylin0707@gmail.com
This commit is contained in:
parent
bd09134697
commit
5b819071e4
|
|
@ -83,7 +83,7 @@ SYSCALL_DEFINE2(clock_getres, const clockid_t, which_clock, struct __kernel_time
|
|||
case CLOCK_REALTIME:
|
||||
case CLOCK_MONOTONIC:
|
||||
case CLOCK_BOOTTIME:
|
||||
if (put_timespec64(&rtn_tp, tp))
|
||||
if (tp && put_timespec64(&rtn_tp, tp))
|
||||
return -EFAULT;
|
||||
return 0;
|
||||
default:
|
||||
|
|
@ -166,7 +166,7 @@ SYSCALL_DEFINE2(clock_getres_time32, clockid_t, which_clock,
|
|||
case CLOCK_REALTIME:
|
||||
case CLOCK_MONOTONIC:
|
||||
case CLOCK_BOOTTIME:
|
||||
if (put_old_timespec32(&rtn_tp, tp))
|
||||
if (tp && put_old_timespec32(&rtn_tp, tp))
|
||||
return -EFAULT;
|
||||
return 0;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user