ACK: [PATCH 0/1][focal/linux-azure] Azure 5.4: vDSO broken with 5.4.0-1075-azure
cengiz.can at canonical.com
Wed Jun 8 16:43:56 UTC 2022
Acked-by: Cengiz Can <cengiz.can at canonical.com>
On 22-06-06 09:13:25, Tim Gardner wrote:
> BugLink: https://bugs.launchpad.net/bugs/1977753
> SRU Justification
> vDSO works with the 5.4.0-1074-azure kernel, but is broken in 5.4.0-1075-azure and newer due to this commit
> Please revert the commit 5c899e1bcda02c755a5327353ed66f0768771644.
> How to verify vDSO is working: "strace date 2>&1 | grep time" should not show the time related syscalls, e.g. clock_gettime()
> With 5.4.0-1075-azure and newer, I see the time related syscalls.
> More info:
> The buggy commit 5c899e1bcda02c755a5327353ed66f0768771644 was backported from the mainline commit:
> e4ab4658f1cf ("clocksource/drivers/hyper-v: Handle vDSO differences inline")
> but due to the differences between the mainline kernel and the 5.4.0-107x-azure kernel, we actually should not simply remove hv_set_clocksource_vdso().
> FWIW, the mainline commit is actually buggy and is fixed by this later mainline path:
> commit 3486d2c9be652a31033363bdd50391b0c8a8fe21
> Author: Vitaly Kuznetsov vkuznets at redhat.com
> Date: Thu May 13 09:32:46 2021 +0200
> clocksource/drivers/hyper-v: Re-enable VDSO_CLOCKMODE_HVCLOCK on X86
> Mohammed reports (https://bugzilla.kernel.org/show_bug.cgi?id=213029)
> the commit e4ab4658f1cf ("clocksource/drivers/hyper-v: Handle vDSO
> differences inline") broke vDSO on x86. The problem appears to be that
> VDSO_CLOCKMODE_HVCLOCK is an enum value in 'enum vdso_clock_mode' and
> '#ifdef VDSO_CLOCKMODE_HVCLOCK' branch evaluates to false (it is not
> a define).
> Use a dedicated HAVE_VDSO_CLOCKMODE_HVCLOCK define instead.
> Fixes: e4ab4658f1cf ("clocksource/drivers/hyper-v: Handle vDSO differences inline")
> Reported-by: Mohammed Gamal mgamal at redhat.com
> Suggested-by: Thomas Gleixner tglx at linutronix.de
> Signed-off-by: Vitaly Kuznetsov vkuznets at redhat.com
> Signed-off-by: Thomas Gleixner tglx at linutronix.de
> Reviewed-by: Michael Kelley mikelley at microsoft.com
> Link: https://firstname.lastname@example.org
> PS, Ubunt 20.04’s 5.13.0-1026-azure is not affected.
> After some discussion it was decided that the revert is the best solution.
> [Test Case]
> "strace date 2>&1 | grep time" should no longer show the clock_gettime() syscall.
> also Microsoft tested
> [Where things could go wrong]
> vDSO entry point could stop working altogether
> [Other Info]
> SF: #00338309
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
More information about the kernel-team