All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.ibm.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: kbuild test robot <lkp@intel.com>,
	kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
	Linux Memory Management List <linux-mm@kvack.org>,
	Mike Rapoport <rppt@linux.vnet.ibm.com>,
	Catalin Marinas <catalin.marinas@arm.com>
Subject: Re: [linux-next:master 5946/5967] arch/arm64/mm/mmu.c:827:21: error: incompatible pointer types passing 'pgd_t *' to parameter of type 'p4d_t *'
Date: Wed, 4 Mar 2020 07:57:51 +0200	[thread overview]
Message-ID: <20200304055751.GA6202@linux.ibm.com> (raw)
In-Reply-To: <20200303170314.9a6684e8191250275b1d8bdf@linux-foundation.org>

On Tue, Mar 03, 2020 at 05:03:14PM -0800, Andrew Morton wrote:
> On Tue, 3 Mar 2020 11:18:12 +0800 kbuild test robot <lkp@intel.com> wrote:
> 
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head:   b56557c8e5210c25b008da636ef804b228967aa6
> > commit: 87d900aef3e229a891438c88debc533a8a1fa976 [5946/5967] arm/arm64: add support for folded p4d page tables
> > config: arm64-allyesconfig (attached as .config)
> > compiler: clang version 11.0.0 (git://gitmirror/llvm_project 211fb91f1067ecdf7c0b8a019bcf76554d813129)
> > reproduce:
> >         # FIXME the reproduce steps for clang is not ready yet
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > 
> > All errors (new ones prefixed by >>):
> 
> (cc Mike & Catalin)
> 
> Did we already fix this? 
> arm-arm64-add-support-for-folded-p4d-page-tables-fix-fix.patch
> (http://lkml.kernel.org/r/20200302174553.GC4166275@arrakis.emea.arm.com)
> seems to be fixing a different issue?
 
It's the same issue.
Besides, Anshuman updated the hot-remove series [1] to include p4d walk, so
it should get fixed in arm64 tree.
 
> > >> arch/arm64/mm/mmu.c:827:21: error: incompatible pointer types passing 'pgd_t *' to parameter of type 'p4d_t *' [-Werror,-Wincompatible-pointer-types]
> >                    pudp = pud_offset(pgdp, addr);
> >                                      ^~~~
> >    include/asm-generic/pgtable-nopud.h:45:40: note: passing argument to parameter 'p4d' here
> >    static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
> >                                           ^
> >    arch/arm64/mm/mmu.c:955:21: error: incompatible pointer types passing 'pgd_t *' to parameter of type 'p4d_t *' [-Werror,-Wincompatible-pointer-types]
> >                    pudp = pud_offset(pgdp, addr);
> >                                      ^~~~
> >    include/asm-generic/pgtable-nopud.h:45:40: note: passing argument to parameter 'p4d' here
> >    static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
> >                                           ^
> >    arch/arm64/mm/mmu.c:975:20: error: incompatible pointer types passing 'pgd_t *' to parameter of type 'p4d_t *' [-Werror,-Wincompatible-pointer-types]
> >            pudp = pud_offset(pgdp, 0UL);
> >                              ^~~~
> >    include/asm-generic/pgtable-nopud.h:45:40: note: passing argument to parameter 'p4d' here
> >    static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
> >                                           ^
> >    3 errors generated.
> > 
> > vim +827 arch/arm64/mm/mmu.c
> > 
> > de323e651df4680 Anshuman Khandual 2020-02-13  818  
> > de323e651df4680 Anshuman Khandual 2020-02-13  819  static void unmap_hotplug_pud_range(pgd_t *pgdp, unsigned long addr,
> > de323e651df4680 Anshuman Khandual 2020-02-13  820  				    unsigned long end, bool free_mapped)
> > de323e651df4680 Anshuman Khandual 2020-02-13  821  {
> > de323e651df4680 Anshuman Khandual 2020-02-13  822  	unsigned long next;
> > de323e651df4680 Anshuman Khandual 2020-02-13  823  	pud_t *pudp, pud;
> > de323e651df4680 Anshuman Khandual 2020-02-13  824  
> > de323e651df4680 Anshuman Khandual 2020-02-13  825  	do {
> > de323e651df4680 Anshuman Khandual 2020-02-13  826  		next = pud_addr_end(addr, end);
> > de323e651df4680 Anshuman Khandual 2020-02-13 @827  		pudp = pud_offset(pgdp, addr);
> > de323e651df4680 Anshuman Khandual 2020-02-13  828  		pud = READ_ONCE(*pudp);
> > de323e651df4680 Anshuman Khandual 2020-02-13  829  		if (pud_none(pud))
> > de323e651df4680 Anshuman Khandual 2020-02-13  830  			continue;
> > de323e651df4680 Anshuman Khandual 2020-02-13  831  
> > de323e651df4680 Anshuman Khandual 2020-02-13  832  		WARN_ON(!pud_present(pud));
> > de323e651df4680 Anshuman Khandual 2020-02-13  833  		if (pud_sect(pud)) {
> > de323e651df4680 Anshuman Khandual 2020-02-13  834  			pud_clear(pudp);
> > de323e651df4680 Anshuman Khandual 2020-02-13  835  
> > de323e651df4680 Anshuman Khandual 2020-02-13  836  			/*
> > de323e651df4680 Anshuman Khandual 2020-02-13  837  			 * One TLBI should be sufficient here as the PUD_SIZE
> > de323e651df4680 Anshuman Khandual 2020-02-13  838  			 * range is mapped with a single block entry.
> > de323e651df4680 Anshuman Khandual 2020-02-13  839  			 */
> > de323e651df4680 Anshuman Khandual 2020-02-13  840  			flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
> > de323e651df4680 Anshuman Khandual 2020-02-13  841  			if (free_mapped)
> > de323e651df4680 Anshuman Khandual 2020-02-13  842  				free_hotplug_page_range(pud_page(pud),
> > de323e651df4680 Anshuman Khandual 2020-02-13  843  							PUD_SIZE);
> > de323e651df4680 Anshuman Khandual 2020-02-13  844  			continue;
> > de323e651df4680 Anshuman Khandual 2020-02-13  845  		}
> > de323e651df4680 Anshuman Khandual 2020-02-13  846  		WARN_ON(!pud_table(pud));
> > de323e651df4680 Anshuman Khandual 2020-02-13  847  		unmap_hotplug_pmd_range(pudp, addr, next, free_mapped);
> > de323e651df4680 Anshuman Khandual 2020-02-13  848  	} while (addr = next, addr < end);
> > de323e651df4680 Anshuman Khandual 2020-02-13  849  }
> > de323e651df4680 Anshuman Khandual 2020-02-13  850  
> > 
> > :::::: The code at line 827 was first introduced by commit
> > :::::: de323e651df46808081eeb17268054f77932a119 arm64/mm: Enable memory hot remove
> > 
> > :::::: TO: Anshuman Khandual <anshuman.khandual@arm.com>
> > :::::: CC: Catalin Marinas <catalin.marinas@arm.com>
> > 
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

-- 
Sincerely yours,
Mike.



  reply	other threads:[~2020-03-04  5:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-03  3:18 [linux-next:master 5946/5967] arch/arm64/mm/mmu.c:827:21: error: incompatible pointer types passing 'pgd_t *' to parameter of type 'p4d_t *' kbuild test robot
2020-03-03  3:18 ` kbuild test robot
2020-03-04  1:03 ` Andrew Morton
2020-03-04  1:03   ` Andrew Morton
2020-03-04  5:57   ` Mike Rapoport [this message]
2020-03-04  6:47     ` Anshuman Khandual
2020-03-04  6:47       ` Anshuman Khandual

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200304055751.GA6202@linux.ibm.com \
    --to=rppt@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=rppt@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.