Hi Kent, On Sat, Dec 16, 2023 at 4:37 AM Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote: > More sched.h dependency pruning. > > Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Thanks for your patch, which is now commit eb72d60ccaed883a ("sem: Split out sem_types.h") in next-20231220. $ make ARCH=m68k defconfig arch/m68k/kernel/asm-offsets.i *** Default configuration is based on 'multi_defconfig' # # No change to .config # UPD include/config/kernel.release UPD include/generated/utsrelease.h CC arch/m68k/kernel/asm-offsets.s In file included from arch/m68k/kernel/asm-offsets.c:15: ./include/linux/sched.h:551:3: error: conflicting types for ‘____cacheline_aligned’ 551 | } ____cacheline_aligned; | ^~~~~~~~~~~~~~~~~~~~~ ./include/linux/sched.h:509:3: note: previous declaration of ‘____cacheline_aligned’ was here 509 | } ____cacheline_aligned; | ^~~~~~~~~~~~~~~~~~~~~ make[3]: *** [scripts/Makefile.build:116: arch/m68k/kernel/asm-offsets.s] Error 1 make[2]: *** [Makefile:1191: prepare0] Error 2 make[1]: *** [Makefile:350: __build_one_by_one] Error 2 make: *** [Makefile:234: __sub-make] Error 2 > --- a/include/linux/audit.h > +++ b/include/linux/audit.h > @@ -400,6 +400,7 @@ static inline void audit_ptrace(struct task_struct *t) > } > > /* Private API (for audit.c only) */ > +struct kern_ipc_perm; > extern void __audit_ipc_obj(struct kern_ipc_perm *ipcp); > extern void __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, umode_t mode); > extern void __audit_bprm(struct linux_binprm *bprm); > diff --git a/include/linux/sched.h b/include/linux/sched.h > index 157e7af36bb7..98885e3a81e8 100644 > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -13,12 +13,13 @@ > > #include <linux/irqflags_types.h> > #include <linux/pid_types.h> > -#include <linux/sem.h> > +#include <linux/sem_types.h> > #include <linux/shm.h> > #include <linux/kmsan_types.h> > #include <linux/mutex_types.h> > #include <linux/plist_types.h> > #include <linux/hrtimer_types.h> > +#include <linux/timer_types.h> > #include <linux/seccomp_types.h> > #include <linux/nodemask_types.h> > #include <linux/rcupdate.h> > diff --git a/include/linux/sem.h b/include/linux/sem.h > index 5608a500c43e..c4deefe42aeb 100644 > --- a/include/linux/sem.h > +++ b/include/linux/sem.h > @@ -3,25 +3,17 @@ > #define _LINUX_SEM_H > > #include <uapi/linux/sem.h> > +#include <linux/sem_types.h> > > struct task_struct; > -struct sem_undo_list; > > #ifdef CONFIG_SYSVIPC > > -struct sysv_sem { > - struct sem_undo_list *undo_list; > -}; > - > extern int copy_semundo(unsigned long clone_flags, struct task_struct *tsk); > extern void exit_sem(struct task_struct *tsk); > > #else > > -struct sysv_sem { > - /* empty */ > -}; > - > static inline int copy_semundo(unsigned long clone_flags, struct task_struct *tsk) > { > return 0; > diff --git a/include/linux/sem_types.h b/include/linux/sem_types.h > new file mode 100644 > index 000000000000..73df1971a7ae > --- /dev/null > +++ b/include/linux/sem_types.h > @@ -0,0 +1,13 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef _LINUX_SEM_TYPES_H > +#define _LINUX_SEM_TYPES_H > + > +struct sem_undo_list; > + > +struct sysv_sem { > +#ifdef CONFIG_SYSVIPC > + struct sem_undo_list *undo_list; > +#endif > +}; > + > +#endif /* _LINUX_SEM_TYPES_H */ > 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