On Thu, 9 Jul 2020 at 11:18, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi all, > > Changes since 20200708: > > My fixes tree contains: > > dbf24e30ce2e ("device_cgroup: Fix RCU list debugging warning") > b236d81d9e4f ("powerpc/boot/dts: Fix dtc "pciex" warnings") > > The kbuild tree still had its build failure for which I reverted a commit. > > The scmi tree gained a build failure so I used the version from > next-20200708; > > The net-next tree gained a conflict against the pci tree. > > The block tree gained conflicts against the btrfs and fscrypt trees. > > The device-mapper tree gained a conflict against the block tree. > > The security tree still had its build failure for which I applied a patch. > > The tip tree still had one build failure for which I reverted a commit. > > The akpm-current tree gained a conflict against the userns tree and a > build failure for which I reverted 2 commits. > > The akpm tree lost a patch that turned up elsewhere. > > Non-merge commits (relative to Linus' tree): 5915 > 6780 files changed, 362395 insertions(+), 141614 deletions(-) > Today's tag doesn't build on arm64. I think this patch e76b573f11d1 ("arm64: mte: Add PTRACE_{PEEK,POKE}MTETAGS support") broke the build due to this patch was included also dc766e66c2b3 ("mm/gup: remove task_struct pointer for all gup code")... /srv/src/kernel/next/arch/arm64/kernel/mte.c: In function ‘__access_remote_tags’: /srv/src/kernel/next/arch/arm64/kernel/mte.c:224:31: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types] 224 | ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags, | ^~~ | | | struct task_struct * In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1707:46: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’ 1707 | long get_user_pages_remote(struct mm_struct *mm, | ~~~~~~~~~~~~~~~~~~^~ /srv/src/kernel/next/arch/arm64/kernel/mte.c:224:36: warning: passing argument 2 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion] 224 | ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags, | ^~ | | | struct mm_struct * In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1708:22: note: expected ‘long unsigned int’ but argument is of type ‘struct mm_struct *’ 1708 | unsigned long start, unsigned long nr_pages, | ~~~~~~~~~~~~~~^~~~~ /srv/src/kernel/next/arch/arm64/kernel/mte.c:224:49: warning: passing argument 5 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion] 224 | ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags, | ^~~~~~~~~ | | | unsigned int In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1709:46: note: expected ‘struct page **’ but argument is of type ‘unsigned int’ 1709 | unsigned int gup_flags, struct page **pages, | ~~~~~~~~~~~~~~^~~~~ /srv/src/kernel/next/arch/arm64/kernel/mte.c:225:10: error: passing argument 6 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types] 225 | &page, &vma, NULL); | ^~~~~ | | | struct page ** In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1710:32: note: expected ‘struct vm_area_struct **’ but argument is of type ‘struct page **’ 1710 | struct vm_area_struct **vmas, int *locked); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /srv/src/kernel/next/arch/arm64/kernel/mte.c:225:17: error: passing argument 7 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types] 225 | &page, &vma, NULL); | ^~~~ | | | struct vm_area_struct ** In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1710:43: note: expected ‘int *’ but argument is of type ‘struct vm_area_struct **’ 1710 | struct vm_area_struct **vmas, int *locked); | ~~~~~^~~~~~ /srv/src/kernel/next/arch/arm64/kernel/mte.c:224:9: error: too many arguments to function ‘get_user_pages_remote’ 224 | ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags, | ^~~~~~~~~~~~~~~~~~~~~ In file included from /srv/src/kernel/next/arch/arm64/kernel/mte.c:8: /srv/src/kernel/next/include/linux/mm.h:1707:6: note: declared here 1707 | long get_user_pages_remote(struct mm_struct *mm, | ^~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors make[3]: *** [/srv/src/kernel/next/scripts/Makefile.build:280: arch/arm64/kernel/mte.o] Error 1 make[3]: Target '__build' not remade because of errors. make[2]: *** [/srv/src/kernel/next/scripts/Makefile.build:497: arch/arm64/kernel] Error 2 make[2]: Target '__build' not remade because of errors. make[1]: *** [/srv/src/kernel/next/Makefile:1764: arch/arm64] Error 2 This change made it build again: diff --git a/arch/arm64/kernel/mte.c b/arch/arm64/kernel/mte.c index 934639ab225d..11e558b02a05 100644 --- a/arch/arm64/kernel/mte.c +++ b/arch/arm64/kernel/mte.c @@ -221,7 +221,7 @@ static int __access_remote_tags(struct task_struct *tsk, struct mm_struct *mm, void *maddr; struct page *page = NULL; - ret = get_user_pages_remote(tsk, mm, addr, 1, gup_flags, + ret = get_user_pages_remote(mm, addr, 1, gup_flags, &page, &vma, NULL); if (ret <= 0) break; Cheers, Anders