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 2020-07-15 10:27, Greg Kroah-Hartman wrote:
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.

These patches cannot just be backported, as 5.4 uses very different
data structures and abstractions. I'll try and come up with something
semantically equivalent by the end of the day...

Thanks,

        M.
--
Jazz is not dead. It just smells funny...



[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