Re: stable-rc 5.4: arm64 build failed - error: ‘const struct arch_timer_erratum_workaround’ has no member named ‘disable_compat_vdso’

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 15, 2020 at 08:54:33AM +0200, Arnd Bergmann wrote:
> On Tue, Jul 14, 2020 at 8:40 PM Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Tue, Jul 14, 2020 at 10:48:14PM +0530, Naresh Kamboju wrote:
> > > arm64 build failed on 5.4
> > >
> > > make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j16 ARCH=arm64
> > > CROSS_COMPILE=aarch64-linux-gnu- HOSTCC=gcc CC="sccache
> > > aarch64-linux-gnu-gcc" O=build Image
> > > #
> > > ../drivers/clocksource/arm_arch_timer.c:484:4: error: ‘const struct
> > > arch_timer_erratum_workaround’ has no member named
> > > ‘disable_compat_vdso’
> > >   484 |   .disable_compat_vdso = true,
> > >       |    ^~~~~~~~~~~~~~~~~~~
> > > ../drivers/clocksource/arm_arch_timer.c:484:26: warning:
> > > initialization of ‘u32 (*)(void)’ {aka ‘unsigned int (*)(void)’} from
> > > ‘int’ makes pointer from integer without a cast [-Wint-conversion]
> > >   484 |   .disable_compat_vdso = true,
> > >       |                          ^~~~
> > > ../drivers/clocksource/arm_arch_timer.c:484:26: note: (near
> > > initialization for ‘ool_workarounds[5].read_cntp_tval_el0’)
> > >
> > > Could be this patch,
> > > arm64: arch_timer: Disable the compat vdso for cores affected by
> > > ARM64_WORKAROUND_1418040
> > > commit 4b661d6133c5d3a7c9aca0b4ee5a78c7766eff3f upstream.
> > >
> > > 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.
> > >
> > > ref:
> > > https://gitlab.com/Linaro/lkft/kernel-runs/-/jobs/638094006
> >
> > Thanks, I've now dropped this patch.
> 
> I think we do want to have it back eventually. It appears that the patch
> upstream depends on the two immediately before it:
> 
> 4b661d6133c5 arm64: arch_timer: Disable the compat vdso for cores
> affected by ARM64_WORKAROUND_1418040
> c1fbec4ac0d7 arm64: arch_timer: Allow an workaround descriptor to
> disable compat vdso
> 97884ca8c292 arm64: Introduce a way to disable the 32bit vdso
> 
> AFAICT, the second one was missing, causing the build failure.
> Do you know if that one needed a manual backport, or could you
> try applying all three in sequence again?

The "first one", 97884ca8c292 ("arm64: Introduce a way to disable the
32bit vdso"), does not apply to 5.4.y, and neither does c1fbec4ac0d7
("arm64: arch_timer: Allow an workaround descriptor to disable compat
vdso").

So backports for all 3 would be appreciated.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux