Messages in this thread | | | Date | Mon, 6 Jul 2020 17:57:12 +0100 | From | Mark Rutland <> | Subject | Re: [PATCH v2 3/4] arm64: arch_timer: Disable the compat vdso for cores affected by ARM64_WORKAROUND_1418040 |
| |
On Mon, Jul 06, 2020 at 05:38:01PM +0100, Marc Zyngier wrote: > ARM64_WORKAROUND_1418040 requires that AArch32 EL0 accesses to > the virtual counter register are trapped and emulated by the kernel. > This makes the vdso pretty pointless, and in some cases livelock > prone. > > Provide a workaround entry that limits the vdso to 64bit tasks. > > Cc: stable@vger.kernel.org > Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Mark.
> --- > drivers/clocksource/arm_arch_timer.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c > index a8e4fb429f52..6c3e84180146 100644 > --- a/drivers/clocksource/arm_arch_timer.c > +++ b/drivers/clocksource/arm_arch_timer.c > @@ -480,6 +480,14 @@ static const struct arch_timer_erratum_workaround ool_workarounds[] = { > .set_next_event_virt = erratum_set_next_event_tval_virt, > }, > #endif > +#ifdef CONFIG_ARM64_ERRATUM_1418040 > + { > + .match_type = ate_match_local_cap_id, > + .id = (void *)ARM64_WORKAROUND_1418040, > + .desc = "ARM erratum 1418040", > + .disable_compat_vdso = true, > + }, > +#endif > }; > > typedef bool (*ate_match_fn_t)(const struct arch_timer_erratum_workaround *, > -- > 2.27.0 >
| |