mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 07:06:50 +07: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 |