Re: [Y2038] [PATCH 07/23] y2038: vdso: powerpc: avoid timespec references

From: Ben Hutchings
Date: Wed Nov 20 2019 - 17:43:26 EST


On Fri, 2019-11-08 at 22:07 +0100, Arnd Bergmann wrote:
[...]
> --- a/arch/powerpc/kernel/vdso32/gettimeofday.S
> +++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
> @@ -15,10 +15,8 @@
> /* Offset for the low 32-bit part of a field of long type */
> #if defined(CONFIG_PPC64) && defined(CONFIG_CPU_BIG_ENDIAN)
> #define LOPART 4
> -#define TSPEC_TV_SEC TSPC64_TV_SEC+LOPART
> #else
> #define LOPART 0
> -#define TSPEC_TV_SEC TSPC32_TV_SEC
> #endif
>
> .text
> @@ -192,7 +190,7 @@ V_FUNCTION_BEGIN(__kernel_time)
> bl __get_datapage@local
> mr r9, r3 /* datapage ptr in r9 */
>
> - lwz r3,STAMP_XTIME+TSPEC_TV_SEC(r9)
> + lwz r3,STAMP_XTIME_SEC+LOWPART(r9)

"LOWPART" should be "LOPART".

>
> cmplwi r11,0 /* check if t is NULL */
> beq 2f
> @@ -268,7 +266,7 @@ __do_get_tspec:
> * as a 32.32 fixed-point number in r3 and r4.
> * Load & add the xtime stamp.
> */
> - lwz r5,STAMP_XTIME+TSPEC_TV_SEC(r9)
> + lwz r5,STAMP_XTIME_SEC+LOWPART(r9)

Same here.

> lwz r6,STAMP_SEC_FRAC(r9)
> addc r4,r4,r6
> adde r3,r3,r5
[...]

--
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom