All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@linux.ibm.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	kbuild test robot <lkp@intel.com>,
	Linux Memory Management List <linux-mm@kvack.org>,
	Mike Rapoport <rppt@linux.vnet.ibm.com>
Subject: Re: [linux-next:master] BUILD REGRESSION b9d3d01405061bb42358fe53f824e894a1922ced
Date: Tue, 26 Nov 2019 10:47:25 +0200	[thread overview]
Message-ID: <20191126084724.GB24228@linux.ibm.com> (raw)
In-Reply-To: <CAMuHMdVRPv9Vvcz=R1TgQncxZeWh7CZOWHLSqmNPtLT9qY_ubw@mail.gmail.com>

Hi Geert,

On Tue, Nov 26, 2019 at 09:10:22AM +0100, Geert Uytterhoeven wrote:
> Hi Andrew,
> 
> On Tue, Nov 26, 2019 at 5:33 AM Andrew Morton <akpm@linux-foundation.org> wrote:
> > On Mon, 25 Nov 2019 12:05:43 +0800 kbuild test robot <lkp@intel.com> wrote:
> > > tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git  master
> > > branch HEAD: b9d3d01405061bb42358fe53f824e894a1922ced  Add linux-next specific files for 20191122
> > >
> > > Regressions in current branch:
> > >
> > > arch/m68k/mm/kmap.c:348:2: error: #endif without #if
> 
> That one is fixed by your
> m68k-mm-use-pgtable-nopxd-instead-of-4level-fixup-fix.patch.
> 
> > > arch/m68k/mm/kmap.c:352:3: error: 'p4d_dir' undeclared (first use in this function); did you mean 'pmd_dir'?
> > > arch/m68k/mm/kmap.c:353:3: error: 'pud_dir' undeclared (first use in this function); did you mean 'p4d_dir'?
> 
> You lost the addition of
> 
> +       p4d_t *p4d_dir;
> +       pud_t *pud_dir;
> 
> to kernel_set_cachemode().
> 
> > > arch/m68k/mm/kmap.c:76:24: error: passing argument 1 of 'pmd_offset' from incompatible pointer type [-Werror=incompatible-pointer-types]
> > > arch/m68k/mm/kmap.c:80:28: error: 'pmd_t {aka struct <anonymous>}' has no member named 'pmd'; did you mean 'pud'?
> 
> Mike's changes to __iounmap() should be applied to __free_io_area() now,
> due to hch's move/rename of the function.
> 
> > Thanks - a messed up merge fix, I guess.  Mike, can you please check?
> 
> I've attached an incremental fix, compile-tested only.

I was just about to send the same fix :)
It boots on aranym.
 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

> From 619eab7044ec1f43d761c95fd62f50be2e5deb63 Mon Sep 17 00:00:00 2001
> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Date: Tue, 26 Nov 2019 09:06:43 +0100
> Subject: [PATCH] 
>  m68k-mm-use-pgtable-nopxd-instead-of-4level-fixup-fix-fix.patch
> 
> more merge glitch fixes.
> 
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
>  arch/m68k/mm/kmap.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c
> index 06aa0ccc1f1aeca7..2bc570c14c3525dc 100644
> --- a/arch/m68k/mm/kmap.c
> +++ b/arch/m68k/mm/kmap.c
> @@ -63,18 +63,23 @@ static void __free_io_area(void *addr, unsigned long size)
>  {
>  	unsigned long virtaddr = (unsigned long)addr;
>  	pgd_t *pgd_dir;
> +	p4d_t *p4d_dir;
> +	pud_t *pud_dir;
>  	pmd_t *pmd_dir;
>  	pte_t *pte_dir;
>  
>  	while ((long)size > 0) {
>  		pgd_dir = pgd_offset_k(virtaddr);
> -		if (pgd_bad(*pgd_dir)) {
> -			printk("iounmap: bad pgd(%08lx)\n", pgd_val(*pgd_dir));
> -			pgd_clear(pgd_dir);
> +		p4d_dir = p4d_offset(pgd_dir, virtaddr);
> +		pud_dir = pud_offset(p4d_dir, virtaddr);
> +		if (pud_bad(*pud_dir)) {
> +			printk("iounmap: bad pgd(%08lx)\n", pud_val(*pud_dir));

                                       ^ bad pud ;-)

> +			pud_clear(pud_dir);
>  			return;
>  		}
> -		pmd_dir = pmd_offset(pgd_dir, virtaddr);
> +		pmd_dir = pmd_offset(pud_dir, virtaddr);
>  
> +#if CONFIG_PGTABLE_LEVELS == 3
>  		if (CPU_IS_020_OR_030) {
>  			int pmd_off = (virtaddr/PTRTREESIZE) & 15;
>  			int pmd_type = pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK;
> @@ -87,6 +92,7 @@ static void __free_io_area(void *addr, unsigned long size)
>  			} else if (pmd_type == 0)
>  				continue;
>  		}
> +#endif
>  
>  		if (pmd_bad(*pmd_dir)) {
>  			printk("iounmap: bad pmd (%08lx)\n", pmd_val(*pmd_dir));
> @@ -314,6 +320,8 @@ void kernel_set_cachemode(void *addr, unsigned long size, int cmode)
>  {
>  	unsigned long virtaddr = (unsigned long)addr;
>  	pgd_t *pgd_dir;
> +	p4d_t *p4d_dir;
> +	pud_t *pud_dir;
>  	pmd_t *pmd_dir;
>  	pte_t *pte_dir;
>  
> -- 
> 2.17.1
> 


-- 
Sincerely yours,
Mike.



  reply	other threads:[~2019-11-26  8:47 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-25  4:05 [linux-next:master] BUILD REGRESSION b9d3d01405061bb42358fe53f824e894a1922ced kbuild test robot
2019-11-26  4:33 ` Andrew Morton
2019-11-26  8:10   ` Geert Uytterhoeven
2019-11-26  8:47     ` Mike Rapoport [this message]
2019-11-26  8:50       ` Geert Uytterhoeven

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=20191126084724.GB24228@linux.ibm.com \
    --to=rppt@linux.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=geert@linux-m68k.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.