[PATCH] kmap: fix header include to reflect actual path
Christophe Leroy
christophe.leroy at csgroup.eu
Sat Jun 28 02:34:57 AEST 2025
Le 27/06/2025 à 17:32, Aurabindo Pillai a écrit :
> [Vous ne recevez pas souvent de courriers de aurabindo.pillai at amd.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> There are plenty of header includes like:
>
> #include <asm/kmap_size.h>
Yes and in reality that includes those,
./arch/arm64/include/generated/asm/kmap_size.h
./arch/riscv/include/generated/asm/kmap_size.h
./arch/arc/include/generated/asm/kmap_size.h
./arch/x86/include/generated/asm/kmap_size.h
./arch/powerpc/include/generated/asm/kmap_size.h
./arch/arm/include/generated/asm/kmap_size.h
Which contain:
$ cat arch/powerpc/include/generated/asm/kmap_size.h
#include <asm-generic/kmap_size.h>
So what is the problem really ?
architectures are allowed to override the generic kmap_size.h, so you
should definitely not change include/linux/sched.h
Or if you think architectures shouldn't be allowed to override it, then
explain it and remove the following line in include/asm-generic/Kbuild:
mandatory-y += kmap_size.h
Also I wonder why you didn't change in mm/highmem.c:
#include <asm/kmap_size.h>
If you change how it works you have to explain it.
Christophe
>
> However, the file kmap_size.h is actually inside the folder asm-generic.
> Fix the includes in various header files so that the correct path is
> referenced in the source, so rename them to:
>
> #include <asm-generic/kmap_size.h>
>
> Signed-off-by: Aurabindo Pillai <aurabindo.pillai at amd.com>
> ---
> arch/arc/include/asm/highmem.h | 2 +-
> arch/arm/include/asm/fixmap.h | 2 +-
> arch/csky/include/asm/fixmap.h | 2 +-
> arch/csky/include/asm/highmem.h | 2 +-
> arch/microblaze/include/asm/fixmap.h | 2 +-
> arch/mips/include/asm/fixmap.h | 2 +-
> arch/mips/include/asm/highmem.h | 2 +-
> arch/powerpc/include/asm/fixmap.h | 2 +-
> arch/sparc/include/asm/vaddrs.h | 2 +-
> arch/x86/include/asm/fixmap.h | 2 +-
> arch/xtensa/include/asm/fixmap.h | 2 +-
> include/linux/sched.h | 2 +-
> 12 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/arch/arc/include/asm/highmem.h b/arch/arc/include/asm/highmem.h
> index a6b8e2c352c44..3be6754ab304d 100644
> --- a/arch/arc/include/asm/highmem.h
> +++ b/arch/arc/include/asm/highmem.h
> @@ -9,7 +9,7 @@
> #ifdef CONFIG_HIGHMEM
>
> #include <uapi/asm/page.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> #define FIXMAP_SIZE PGDIR_SIZE
> #define PKMAP_SIZE PGDIR_SIZE
> diff --git a/arch/arm/include/asm/fixmap.h b/arch/arm/include/asm/fixmap.h
> index 707068f852c27..149669def2e92 100644
> --- a/arch/arm/include/asm/fixmap.h
> +++ b/arch/arm/include/asm/fixmap.h
> @@ -7,7 +7,7 @@
> #define FIXADDR_TOP (FIXADDR_END - PAGE_SIZE)
>
> #include <linux/pgtable.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> enum fixed_addresses {
> FIX_EARLYCON_MEM_BASE,
> diff --git a/arch/csky/include/asm/fixmap.h b/arch/csky/include/asm/fixmap.h
> index 49a77cbbe2a9c..c68aabec22429 100644
> --- a/arch/csky/include/asm/fixmap.h
> +++ b/arch/csky/include/asm/fixmap.h
> @@ -7,7 +7,7 @@
> #include <asm/memory.h>
> #ifdef CONFIG_HIGHMEM
> #include <linux/threads.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
> #endif
>
> enum fixed_addresses {
> diff --git a/arch/csky/include/asm/highmem.h b/arch/csky/include/asm/highmem.h
> index 1ed810effb3d1..c3c4d51a93d0d 100644
> --- a/arch/csky/include/asm/highmem.h
> +++ b/arch/csky/include/asm/highmem.h
> @@ -8,7 +8,7 @@
> #include <linux/init.h>
> #include <linux/interrupt.h>
> #include <linux/uaccess.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
> #include <asm/cache.h>
>
> /* undef for production */
> diff --git a/arch/microblaze/include/asm/fixmap.h b/arch/microblaze/include/asm/fixmap.h
> index e6e9288bff761..77996f6605949 100644
> --- a/arch/microblaze/include/asm/fixmap.h
> +++ b/arch/microblaze/include/asm/fixmap.h
> @@ -20,7 +20,7 @@
> #include <asm/page.h>
> #ifdef CONFIG_HIGHMEM
> #include <linux/threads.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
> #endif
>
> #define FIXADDR_TOP ((unsigned long)(-PAGE_SIZE))
> diff --git a/arch/mips/include/asm/fixmap.h b/arch/mips/include/asm/fixmap.h
> index b037718d7e8b4..85e2854a2fc50 100644
> --- a/arch/mips/include/asm/fixmap.h
> +++ b/arch/mips/include/asm/fixmap.h
> @@ -17,7 +17,7 @@
> #include <spaces.h>
> #ifdef CONFIG_HIGHMEM
> #include <linux/threads.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
> #endif
>
> /*
> diff --git a/arch/mips/include/asm/highmem.h b/arch/mips/include/asm/highmem.h
> index 92a3802100178..80a6409d4a137 100644
> --- a/arch/mips/include/asm/highmem.h
> +++ b/arch/mips/include/asm/highmem.h
> @@ -24,7 +24,7 @@
> #include <linux/interrupt.h>
> #include <linux/uaccess.h>
> #include <asm/cpu-features.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> /* declarations for highmem.c */
> extern unsigned long highstart_pfn, highend_pfn;
> diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h
> index f9068dd8dfce7..b0622370fbab1 100644
> --- a/arch/powerpc/include/asm/fixmap.h
> +++ b/arch/powerpc/include/asm/fixmap.h
> @@ -20,7 +20,7 @@
> #include <asm/page.h>
> #ifdef CONFIG_HIGHMEM
> #include <linux/threads.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
> #endif
>
> /*
> diff --git a/arch/sparc/include/asm/vaddrs.h b/arch/sparc/include/asm/vaddrs.h
> index 4fec0341e2a81..f21d51153d6ef 100644
> --- a/arch/sparc/include/asm/vaddrs.h
> +++ b/arch/sparc/include/asm/vaddrs.h
> @@ -32,7 +32,7 @@
> #define SRMMU_NOCACHE_ALCRATIO 64 /* 256 pages per 64MB of system RAM */
>
> #ifndef __ASSEMBLY__
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> enum fixed_addresses {
> FIX_HOLE,
> diff --git a/arch/x86/include/asm/fixmap.h b/arch/x86/include/asm/fixmap.h
> index d0dcefb5cc59d..ed2dc040747e4 100644
> --- a/arch/x86/include/asm/fixmap.h
> +++ b/arch/x86/include/asm/fixmap.h
> @@ -14,7 +14,7 @@
> #ifndef _ASM_X86_FIXMAP_H
> #define _ASM_X86_FIXMAP_H
>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> /*
> * Exposed to assembly code for setting up initial page tables. Cannot be
> diff --git a/arch/xtensa/include/asm/fixmap.h b/arch/xtensa/include/asm/fixmap.h
> index 1c65dc1d33971..af09aafb66687 100644
> --- a/arch/xtensa/include/asm/fixmap.h
> +++ b/arch/xtensa/include/asm/fixmap.h
> @@ -16,7 +16,7 @@
> #ifdef CONFIG_HIGHMEM
> #include <linux/threads.h>
> #include <linux/pgtable.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> /* The map slots for temporary mappings via kmap_atomic/local(). */
> enum fixed_addresses {
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 9c15365a30c08..28507df174ee7 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -46,7 +46,7 @@
> #include <linux/rv.h>
> #include <linux/livepatch_sched.h>
> #include <linux/uidgid_types.h>
> -#include <asm/kmap_size.h>
> +#include <asm-generic/kmap_size.h>
>
> /* task_struct member predeclarations (sorted alphabetically): */
> struct audit_context;
> --
> 2.50.0
>
More information about the Linuxppc-dev
mailing list