Messages in this thread | | | Date | Mon, 26 Feb 2024 17:19:49 +0100 | From | "Arnd Bergmann" <> | Subject | Re: arch/arm64/include/asm/atomic_ll_sc.h:298:9: error: unknown type name 'u128' |
| |
On Mon, Feb 26, 2024, at 17:00, Anna-Maria Behnsen wrote: > "Arnd Bergmann" <arnd@arndb.de> writes: >> Commit a0d2fcd62ac2 ("vdso/ARM: Make union vdso_data_store >> available for all architectures") introduced a reference to >> the asm/page.h in include/vdso/datapage.h, but this is outside >> of the vdso/*.h namespace and doesn't work in the compat vdso. > > But the asm namespace works for the vdso namespace. Only linux headers > do not work, or am I wrong?
The vdso namespace was added to have something that works for userspace code in both compat 32-bit mode and native (32 or 64) bit mode, while anything outside of include/vdso may not work here.
> PAGE_SIZE is defined in asm/page-def.h for arm64. So this could be a > fast fix (tested with clang-14): > > ---8<---- > --- a/include/vdso/datapage.h > +++ b/include/vdso/datapage.h > @@ -19,7 +19,11 @@ > #include <vdso/time32.h> > #include <vdso/time64.h> > > +#ifdef CONFIG_ARM64 > +#include <asm/page-def.h> > +#else > #include <asm/page.h> > +#endif > > #ifdef CONFIG_ARCH_HAS_VDSO_DATA > #include <asm/vdso/data.h> > ---8<---
I've sent my own patch now, which is something we probably want anyway, but is obviously much more invasive thank your four-line patch.
Maybe we can put your quick fix in the tip tree for the moment and I put my patches into the asm-generic tree, then we can do the trivial cleanup from my final patch later.
Arnd
| |