powerpc/vdso32: Fallback on getres syscall when clock is unknown

There are other clocks than the standard ones, for instance
per process clocks. Therefore, being above the last standard clock
doesn't mean it is a bad clock. So, fallback to syscall instead
of returning -EINVAL inconditionaly.

Fixes: e33ffc956b ("powerpc/vdso32: implement clock_getres entirely")
Cc: stable@vger.kernel.org # v5.6+
Reported-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Link: https://lore.kernel.org/r/7316a9e2c0c2517923eb4b0411c4a08d15e675a4.1589017281.git.christophe.leroy@csgroup.eu
This commit is contained in:
Christophe Leroy 2020-05-09 09:42:14 +00:00 committed by Michael Ellerman
parent 4833ce06e6
commit e963b7a28b

View File

@ -218,11 +218,11 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
blr blr
/* /*
* invalid clock * syscall fallback
*/ */
99: 99:
li r3, EINVAL li r0,__NR_clock_getres
crset so sc
blr blr
.cfi_endproc .cfi_endproc
V_FUNCTION_END(__kernel_clock_getres) V_FUNCTION_END(__kernel_clock_getres)