aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@csgroup.eu>2020-05-09 09:42:14 +0000
committerMichael Ellerman <mpe@ellerman.id.au>2020-05-11 19:24:29 +1000
commite963b7a28b2bf2416304e1a15df967fcf662aff5 (patch)
tree1d05b9ecc6ab695f894176bccff89fe7ee73f9cd
parentpowerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG (diff)
downloadlinux-dev-e963b7a28b2bf2416304e1a15df967fcf662aff5.tar.xz
linux-dev-e963b7a28b2bf2416304e1a15df967fcf662aff5.zip
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: e33ffc956b08 ("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
-rw-r--r--arch/powerpc/kernel/vdso32/gettimeofday.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S b/arch/powerpc/kernel/vdso32/gettimeofday.S
index a3951567118a..e7f8f9f1b3f4 100644
--- a/arch/powerpc/kernel/vdso32/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
@@ -218,11 +218,11 @@ V_FUNCTION_BEGIN(__kernel_clock_getres)
blr
/*
- * invalid clock
+ * syscall fallback
*/
99:
- li r3, EINVAL
- crset so
+ li r0,__NR_clock_getres
+ sc
blr
.cfi_endproc
V_FUNCTION_END(__kernel_clock_getres)