Re: [PATCH] timekeeping: Another fix to the VSYSCALL_OLD update_vsyscall

From: Thomas Gleixner
Date: Tue Aug 12 2014 - 20:20:37 EST


On Tue, 12 Aug 2014, John Stultz wrote:

> Benjamin Herrenschmidt pointed out that I firuther missed

s/firuther/further ?

> modifying update_vsyscall after the wall_to_mono value was
> changed to a timespec64. This causes issues on powerpc32,
> which expects a 32bit timespec.
>
> This patch fixes the problem my properly converting from

s/my/by/

> a timespec64 to a timespec before passing the value on to
> the arch-specific vsyscall logic.

Other than that, please add my Reviewed-by, and send it to Linus
either as patch or pull request as I'm really in vacation mode NOW.

> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Reported-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> ---
> kernel/time/timekeeping.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
> index f36b028..fb4a9c2 100644
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -338,10 +338,11 @@ EXPORT_SYMBOL_GPL(ktime_get_mono_fast_ns);
>
> static inline void update_vsyscall(struct timekeeper *tk)
> {
> - struct timespec xt;
> + struct timespec xt, wm;
>
> xt = timespec64_to_timespec(tk_xtime(tk));
> - update_vsyscall_old(&xt, &tk->wall_to_monotonic, tk->tkr.clock, tk->tkr.mult,
> + wm = timespec64_to_timespec(tk->wall_to_monotonic);
> + update_vsyscall_old(&xt, &wm, tk->tkr.clock, tk->tkr.mult,
> tk->tkr.cycle_last);
> }
>
> --
> 1.9.1
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/