Re: [tip:locking/core 19/28] include/linux/fs.h:1422:29: error: array type has incomplete element type 'struct percpu_rw_semaphore'

From: Geert Uytterhoeven
Date: Wed Mar 25 2020 - 08:27:40 EST


Hi Thomas,

On Sat, Mar 21, 2020 at 8:29 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> kbuild test robot <lkp@xxxxxxxxx> writes:
> > All errors (new ones prefixed by >>):
> >
> > In file included from include/linux/huge_mm.h:8,
> > from include/linux/mm.h:567,
> > from arch/m68k/include/asm/uaccess_no.h:8,
> > from arch/m68k/include/asm/uaccess.h:3,
> > from include/linux/uaccess.h:11,
> > from include/linux/sched/task.h:11,
> > from include/linux/sched/signal.h:9,
> > from include/linux/rcuwait.h:6,
> > from include/linux/percpu-rwsem.h:7,
> > from kernel/locking/percpu-rwsem.c:6:
> >>> include/linux/fs.h:1422:29: error: array type has incomplete element type 'struct percpu_rw_semaphore'
> > 1422 | struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
> > | ^~~~~~
>
> Same problem as in the other architectures and same cure.

Indeed it does.

> ---
> Subject: m68knommu: Remove mm.h include from uaccess_no.h
> From: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Date: Sat, 21 Mar 2020 20:22:10 +0100
>
> In file included
> from include/linux/huge_mm.h:8,
> from include/linux/mm.h:567,
> from arch/m68k/include/asm/uaccess_no.h:8,
> from arch/m68k/include/asm/uaccess.h:3,
> from include/linux/uaccess.h:11,
> from include/linux/sched/task.h:11,
> from include/linux/sched/signal.h:9,
> from include/linux/rcuwait.h:6,
> from include/linux/percpu-rwsem.h:7,
> from kernel/locking/percpu-rwsem.c:6:
> include/linux/fs.h:1422:29: error: array type has incomplete element type 'struct percpu_rw_semaphore'
> 1422 | struct percpu_rw_semaphore rw_sem[SB_FREEZE_LEVELS];
>
> Removing the include of linux/mm.h from the uaccess header solves the problem
> and various build tests of nommu configurations still work.
>
> Fixes: 80fbaf1c3f29 ("rcuwait: Add @state argument to rcuwait_wait_event()")
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>

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