Re: [PATCH] vdso/gettimeofday: Clean up read of tz_minuteswest and tz_dsttime
From: Vincenzo Frascino
Date: Wed Sep 02 2026 - 10:08:04 EST
On 02/09/2026 13:06, Thomas Weißschuh wrote:
> When these fields got moved from 'struct vdso_time_data' to the new
> 'struct vdso_clock', this access was forgotten.
>
> 'vd' is not an array, but a pointer to a single structure. The code
> works by accident in its current form as CS_HRES_COARSE is 0.
>
> Replace the incorrect array access with a regular pointer dereference.
>
> Fixes: 886653e36639 ("vdso: Rework struct vdso_time_data and introduce struct vdso_clock")
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
> ---
> lib/vdso/gettimeofday.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/vdso/gettimeofday.c b/lib/vdso/gettimeofday.c
> index f7a591aba59f..6e9b03051bee 100644
> --- a/lib/vdso/gettimeofday.c
> +++ b/lib/vdso/gettimeofday.c
> @@ -374,8 +374,8 @@ __cvdso_gettimeofday_data(const struct vdso_time_data *vd,
> if (vdso_is_timens_clock(vc))
> vd = vdso_timens_data(vd);
>
> - tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest;
> - tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime;
> + tz->tz_minuteswest = vd->tz_minuteswest;
> + tz->tz_dsttime = vd->tz_dsttime;
> }
>
> return 0;
>
> ---
> base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
> change-id: 20260902-vdso-tz-b999f43c24bb
>
> Best regards,
> --
> Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
>
--
Regards,
Vincenzo