[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