summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/vdso32
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@csgroup.eu>2020-05-09 11:42:14 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2020-05-11 11:24:29 +0200
commite963b7a28b2bf2416304e1a15df967fcf662aff5 (patch)
tree1d05b9ecc6ab695f894176bccff89fe7ee73f9cd /arch/powerpc/kernel/vdso32
parentpowerpc/32s: Fix build failure with CONFIG_PPC_KUAP_DEBUG (diff)
downloadlinux-e963b7a28b2bf2416304e1a15df967fcf662aff5.tar.xz
linux-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
Diffstat (limited to 'arch/powerpc/kernel/vdso32')
-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)