Re: [linux-next:master] BUILD REGRESSION b9d3d01405061bb42358fe53f824e894a1922ced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mike,

On Tue, Nov 26, 2019 at 9:47 AM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> On Tue, Nov 26, 2019 at 09:10:22AM +0100, Geert Uytterhoeven wrote:
> > On Tue, Nov 26, 2019 at 5:33 AM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > On Mon, 25 Nov 2019 12:05:43 +0800 kbuild test robot <lkp@xxxxxxxxx> 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.

Thanks for checking!

> > --- 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 ;-)

Bummer... I even pointed out that typo during the review of your v4 ;-(
Andrew: can you please fix that up?

Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux