[COMMITTED] linux: Fix clock_getres fallback
Checks
Commit Message
The tst-timespec_getres (e5ac7bd679de5) triggers an issue on 32-bit
architecture on Linux older than 5.1, where the fallback syscall
is used.
Checked on powerpc-linux-gnu.
---
sysdeps/unix/sysv/linux/clock_getres.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Tue, 18 May 2021, Adhemerval Zanella via Libc-alpha wrote:
> The tst-timespec_getres (e5ac7bd679de5) triggers an issue on 32-bit
> architecture on Linux older than 5.1, where the fallback syscall
> is used.
I think this shows the need for a test of direct use of clock_getres with
a NULL pointer, rather than relying on it being indirectly tested via
timespec_getres.
On 18/05/2021 17:39, Joseph Myers wrote:
> On Tue, 18 May 2021, Adhemerval Zanella via Libc-alpha wrote:
>
>> The tst-timespec_getres (e5ac7bd679de5) triggers an issue on 32-bit
>> architecture on Linux older than 5.1, where the fallback syscall
>> is used.
>
> I think this shows the need for a test of direct use of clock_getres with
> a NULL pointer, rather than relying on it being indirectly tested via
> timespec_getres.
>
Indeed, I will add one based on the timespec_getres.
@@ -56,7 +56,7 @@ __clock_getres64 (clockid_t clock_id, struct __timespec64 *res)
# else
r = INLINE_SYSCALL_CALL (clock_getres, clock_id, &ts32);
# endif
- if (r == 0)
+ if (r == 0 && res != NULL)
*res = valid_timespec_to_timespec64 (ts32);
#endif