]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64
authorChristophe Leroy <christophe.leroy@c-s.fr>
Thu, 4 Apr 2019 12:20:05 +0000 (12:20 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 13 Aug 2019 11:39:04 +0000 (12:39 +0100)
commit dd9a994fc68d196a052b73747e3366c57d14a09e upstream.

Commit b5b4453e7912 ("powerpc/vdso64: Fix CLOCK_MONOTONIC
inconsistencies across Y2038") changed the type of wtom_clock_sec
to s64 on PPC64. Therefore, VDSO32 needs to read it with a 4 bytes
shift in order to retrieve the lower part of it.

Fixes: b5b4453e7912 ("powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038")
Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/powerpc/kernel/vdso32/gettimeofday.S

index 6b2b69616e7762507f3375300513834f328bb503..8bacb8721961fdd0ce9a63772c06ef10e0b9e0c7 100644 (file)
@@ -98,7 +98,7 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
         * can be used, r7 contains NSEC_PER_SEC.
         */
 
-       lwz     r5,WTOM_CLOCK_SEC(r9)
+       lwz     r5,(WTOM_CLOCK_SEC+LOPART)(r9)
        lwz     r6,WTOM_CLOCK_NSEC(r9)
 
        /* We now have our offset in r5,r6. We create a fake dependency