mirror of
https://github.com/torvalds/linux.git
synced 2025-01-01 07:42:07 +00:00
c80ed088a5
The vdso tries to check for a NULL res pointer in __kernel_clock_getres,
but only checks the lower 32 bits as is uses CBZ on the W register the
res pointer is held in.
Thus, if the res pointer happened to be aligned to a 4GiB boundary, we'd
spuriously skip storing the timespec to it, while returning a zero error code
to the caller.
Prevent this by checking the whole pointer, using CBZ on the X register
the res pointer is held in.
Fixes:
|
||
---|---|---|
.. | ||
.gitignore | ||
gen_vdso_offsets.sh | ||
gettimeofday.S | ||
Makefile | ||
note.S | ||
sigreturn.S | ||
vdso.lds.S | ||
vdso.S |