Le 21/09/2023 à 18:20, Ryan Roberts a écrit : > In order to fix a bug, arm64 needs access to the vma inside it's > implementation of set_huge_pte_at(). Provide for this by converting the > mm parameter to be a vma. Any implementations that require the mm can > access it via vma->vm_mm. > > This commit makes the required powerpc modifications. Separate commits > update the other arches and core code, before the actual bug is fixed in > arm64. > > No behavioral changes intended. This patch doesn't build, allthough I have also applied patch 1. Is something missing ? CALL scripts/checksyscalls.sh CC arch/powerpc/kernel/setup-common.o In file included from arch/powerpc/kernel/setup-common.c:37: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/kernel/setup-common.o] Error 1 make[4]: Target 'arch/powerpc/kernel/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: arch/powerpc/kernel] Error 2 CC arch/powerpc/mm/fault.o In file included from arch/powerpc/mm/fault.c:33: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/mm/fault.o] Error 1 CC arch/powerpc/mm/pgtable.o In file included from arch/powerpc/mm/pgtable.c:25: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/mm/pgtable.o] Error 1 CC arch/powerpc/mm/init_32.o In file included from arch/powerpc/mm/init_32.c:30: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/mm/init_32.o] Error 1 CC arch/powerpc/mm/pgtable-frag.o In file included from arch/powerpc/mm/pgtable-frag.c:13: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/mm/pgtable-frag.o] Error 1 CC arch/powerpc/mm/nohash/tlb.o In file included from arch/powerpc/mm/nohash/tlb.c:35: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[5]: *** [scripts/Makefile.build:243: arch/powerpc/mm/nohash/tlb.o] Error 1 CC arch/powerpc/mm/nohash/8xx.o In file included from arch/powerpc/mm/nohash/8xx.c:11: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[5]: *** [scripts/Makefile.build:243: arch/powerpc/mm/nohash/8xx.o] Error 1 make[5]: Target 'arch/powerpc/mm/nohash/' not remade because of errors. make[4]: *** [scripts/Makefile.build:480: arch/powerpc/mm/nohash] Error 2 CC arch/powerpc/mm/hugetlbpage.o In file included from arch/powerpc/mm/hugetlbpage.c:14: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: arch/powerpc/mm/hugetlbpage.o] Error 1 make[4]: Target 'arch/powerpc/mm/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: arch/powerpc/mm] Error 2 make[3]: Target 'arch/powerpc/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: arch/powerpc] Error 2 CC kernel/fork.o In file included from kernel/fork.c:52: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: kernel/fork.o] Error 1 CC kernel/sysctl.o In file included from kernel/sysctl.c:45: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: kernel/sysctl.o] Error 1 CC kernel/events/core.o In file included from kernel/events/core.c:31: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: kernel/events/core.o] Error 1 make[4]: Target 'kernel/events/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: kernel/events] Error 2 make[3]: Target 'kernel/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: kernel] Error 2 CC mm/filemap.o In file included from mm/filemap.c:37: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/filemap.o] Error 1 CC mm/folio-compat.o In file included from ./include/linux/migrate.h:8, from mm/folio-compat.c:7: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/folio-compat.o] Error 1 CC mm/swap.o In file included from mm/swap.c:36: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/swap.o] Error 1 CC mm/vmscan.o In file included from ./include/linux/migrate.h:8, from mm/vmscan.c:43: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/vmscan.o] Error 1 CC mm/shmem.o In file included from mm/shmem.c:39: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/shmem.o] Error 1 CC mm/util.o In file included from mm/util.c:16: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/util.o] Error 1 CC mm/compaction.o In file included from ./include/linux/migrate.h:8, from mm/compaction.c:13: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/compaction.o] Error 1 CC mm/show_mem.o In file included from mm/show_mem.c:12: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/show_mem.o] Error 1 CC mm/debug.o In file included from ./include/linux/migrate.h:8, from mm/debug.c:14: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/debug.o] Error 1 CC mm/gup.o In file included from mm/gup.c:17: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/gup.o] Error 1 CC mm/memory.o In file included from mm/memory.c:49: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/memory.o] Error 1 CC mm/mincore.o In file included from mm/mincore.c:19: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/mincore.o] Error 1 CC mm/mlock.o In file included from mm/mlock.c:24: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/mlock.o] Error 1 CC mm/mmap.o In file included from mm/mmap.c:28: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/mmap.o] Error 1 CC mm/mprotect.o In file included from mm/mprotect.c:13: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/mprotect.o] Error 1 CC mm/mremap.o In file included from mm/mremap.c:13: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/mremap.o] Error 1 CC mm/page_vma_mapped.o In file included from mm/page_vma_mapped.c:4: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/page_vma_mapped.o] Error 1 CC mm/pagewalk.o In file included from mm/pagewalk.c:5: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/pagewalk.o] Error 1 CC mm/pgtable-generic.o In file included from mm/pgtable-generic.c:11: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/pgtable-generic.o] Error 1 CC mm/rmap.o In file included from ./include/linux/migrate.h:8, from mm/rmap.c:70: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/rmap.c: In function 'try_to_unmap_one': mm/rmap.c:1631:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 1631 | set_huge_pte_at(mm, address, pvmw.pte, pteval); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/rmap.c: In function 'try_to_migrate_one': mm/rmap.c:2023:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 2023 | set_huge_pte_at(mm, address, pvmw.pte, pteval); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/rmap.c:2047:57: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 2047 | set_huge_pte_at(mm, address, pvmw.pte, pteval); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/rmap.c:2061:57: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 2061 | set_huge_pte_at(mm, address, pvmw.pte, pteval); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/rmap.c:2093:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 2093 | set_huge_pte_at(mm, address, pvmw.pte, swp_pte); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/rmap.o] Error 1 CC mm/vmalloc.o In file included from mm/vmalloc.c:41: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/vmalloc.c: In function 'vmap_pte_range': mm/vmalloc.c:114:41: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 114 | set_huge_pte_at(&init_mm, addr, pte, entry); | ^~~~~~~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/vmalloc.o] Error 1 CC mm/page_alloc.o In file included from ./include/linux/migrate.h:8, from mm/page_alloc.c:45: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/page_alloc.o] Error 1 CC mm/madvise.o In file included from mm/madvise.c:16: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/madvise.o] Error 1 CC mm/hugetlb.o In file included from ./include/linux/migrate.h:8, from mm/hugetlb.c:33: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'hugetlb_install_folio': mm/hugetlb.c:4991:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 4991 | set_huge_pte_at(vma->vm_mm, addr, ptep, newpte); | ~~~^~~~~~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'copy_hugetlb_page_range': mm/hugetlb.c:5068:41: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5068 | set_huge_pte_at(dst, addr, dst_pte, entry); | ^~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:5083:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5083 | set_huge_pte_at(src, addr, src_pte, entry); | ^~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:5087:41: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5087 | set_huge_pte_at(dst, addr, dst_pte, entry); | ^~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:5093:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5093 | set_huge_pte_at(dst, addr, dst_pte, | ^~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:5169:41: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5169 | set_huge_pte_at(dst, addr, dst_pte, entry); | ^~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'move_huge_pte': mm/hugetlb.c:5205:25: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5205 | set_huge_pte_at(mm, new_addr, dst_pte, pte); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function '__unmap_hugepage_range': mm/hugetlb.c:5339:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5339 | set_huge_pte_at(mm, address, ptep, | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:5373:41: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5373 | set_huge_pte_at(mm, address, ptep, | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'hugetlb_wp': mm/hugetlb.c:5679:33: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5679 | set_huge_pte_at(mm, haddr, ptep, newpte); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'hugetlb_no_page': mm/hugetlb.c:5975:25: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 5975 | set_huge_pte_at(mm, haddr, ptep, new_pte); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c: In function 'hugetlb_change_protection': mm/hugetlb.c:6601:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 6601 | set_huge_pte_at(mm, address, ptep, newpte); | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/hugetlb.c:6625:49: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 6625 | set_huge_pte_at(mm, address, ptep, | ^~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/hugetlb.o] Error 1 CC mm/migrate.o In file included from ./include/linux/migrate.h:8, from mm/migrate.c:16: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ mm/migrate.c: In function 'remove_migration_pte': mm/migrate.c:254:44: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 254 | set_huge_pte_at(vma->vm_mm, pvmw.address, pvmw.pte, pte); | ~~~^~~~~~~ | | | struct mm_struct * ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/migrate.o] Error 1 CC mm/debug_vm_pgtable.o In file included from mm/debug_vm_pgtable.c:15: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/debug_vm_pgtable.o] Error 1 CC mm/memfd.o In file included from mm/memfd.c:18: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: mm/memfd.o] Error 1 make[3]: Target 'mm/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: mm] Error 2 CC fs/aio.o In file included from ./include/linux/migrate.h:8, from fs/aio.c:40: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: fs/aio.o] Error 1 CC fs/binfmt_elf.o In file included from fs/binfmt_elf.c:31: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: fs/binfmt_elf.o] Error 1 CC fs/iomap/buffered-io.o In file included from ./include/linux/migrate.h:8, from fs/iomap/buffered-io.c:19: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/iomap/buffered-io.o] Error 1 make[4]: Target 'fs/iomap/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: fs/iomap] Error 2 CC fs/proc/task_mmu.o In file included from fs/proc/task_mmu.c:4: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/proc/task_mmu.o] Error 1 CC fs/proc/array.o In file included from fs/proc/array.c:74: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/proc/array.o] Error 1 CC fs/proc/meminfo.o In file included from fs/proc/meminfo.c:6: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/proc/meminfo.o] Error 1 CC fs/proc/page.o In file included from fs/proc/page.c:12: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/proc/page.o] Error 1 make[4]: Target 'fs/proc/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: fs/proc] Error 2 CC fs/hugetlbfs/inode.o In file included from fs/hugetlbfs/inode.c:27: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/hugetlbfs/inode.o] Error 1 make[4]: Target 'fs/hugetlbfs/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: fs/hugetlbfs] Error 2 CC fs/nfs/write.o In file included from ./include/linux/migrate.h:8, from fs/nfs/write.c:17: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[4]: *** [scripts/Makefile.build:243: fs/nfs/write.o] Error 1 make[4]: Target 'fs/nfs/' not remade because of errors. make[3]: *** [scripts/Makefile.build:480: fs/nfs] Error 2 make[3]: Target 'fs/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: fs] Error 2 CC ipc/shm.o In file included from ipc/shm.c:30: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: ipc/shm.o] Error 1 make[3]: Target 'ipc/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: ipc] Error 2 CC security/commoncap.o In file included from security/commoncap.c:19: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: security/commoncap.o] Error 1 make[3]: Target 'security/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: security] Error 2 CC io_uring/rsrc.o In file included from io_uring/rsrc.c:9: ./include/linux/hugetlb.h: In function 'huge_ptep_modify_prot_commit': ./include/linux/hugetlb.h:987:28: error: passing argument 1 of 'set_huge_pte_at' from incompatible pointer type [-Werror=incompatible-pointer-types] 987 | set_huge_pte_at(vma->vm_mm, addr, ptep, pte); | ~~~^~~~~~~ | | | struct mm_struct * In file included from ./arch/powerpc/include/asm/hugetlb.h:13, from ./include/linux/hugetlb.h:815: ./arch/powerpc/include/asm/nohash/32/hugetlb-8xx.h:49:45: note: expected 'struct vm_area_struct *' but argument is of type 'struct mm_struct *' 49 | void set_huge_pte_at(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t pte); | ~~~~~~~~~~~~~~~~~~~~~~~^~~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:243: io_uring/rsrc.o] Error 1 make[3]: Target 'io_uring/' not remade because of errors. make[2]: *** [scripts/Makefile.build:480: io_uring] Error 2 make[2]: Target './' not remade because of errors. make[1]: *** [/home/chleroy/linux-powerpc/Makefile:1913: .] Error 2 make[1]: Target 'vmlinux' not remade because of errors. make: *** [Makefile:234: __sub-make] Error 2 make: Target 'vmlinux' not remade because of errors. Christophe