From: Thomas Weißschuh Date: Tue, 28 Oct 2025 09:02:55 +0000 (+0100) Subject: um: Avoid circular dependency on asm-offsets in pgtable.h X-Git-Tag: v6.19-rc1~104^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8e03c195cc4d82100291500f772f85c686653748;p=thirdparty%2Flinux.git um: Avoid circular dependency on asm-offsets in pgtable.h Recent changes have added an include of as-layout.h to pgtable.h. However this introduces a circular dependency during asm-offsets generation as as-layout.h depends on asm-offsets and pgtable.h is an input for asm-offsets. Building from a clean state results in the following error: CC arch/um/kernel/asm-offsets.s In file included from arch/um/include/asm/pgtable.h:48, from include/linux/pgtable.h:6, from include/linux/mm.h:31, from include/linux/pid_namespace.h:7, from include/linux/ptrace.h:10, from include/linux/audit.h:13, from arch/um/kernel/asm-offsets.c:8: arch/um/include/shared/as-layout.h:9:10: fatal error: generated/asm-offsets.h: No such file or directory 9 | #include | ^~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [scripts/Makefile.build:182: arch/um/kernel/asm-offsets.s] Error 1 As the inclusion of as-layout.h in pgtable.h is not yet needed while asm-offsets are generated, break the dependency here. Fixes: a7f7dbae94a5 ("um: Remove file-based iomem emulation support") Signed-off-by: Thomas Weißschuh Reviewed-by: Tiwei Bie Link: https://patch.msgid.link/20251028-uml-offsets-circular-v1-1-601c363cfaaa@weissschuh.net Signed-off-by: Johannes Berg --- diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h index 1a0d7405e97cd..3b42b0f45bf6c 100644 --- a/arch/um/include/asm/pgtable.h +++ b/arch/um/include/asm/pgtable.h @@ -45,7 +45,9 @@ extern unsigned long *empty_zero_page; * area for the same reason. ;) */ +#ifndef COMPILE_OFFSETS #include /* for high_physmem */ +#endif #define VMALLOC_OFFSET (__va_space) #define VMALLOC_START ((high_physmem + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))