Message ID | 20210220183311.30197-1-rdunlap@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] arm: OABI compat: fix build when EPOLL is not enabled | expand |
On Sat, 20 Feb 2021, Randy Dunlap wrote: > When CONFIG_EPOLL is not set/enabled, sys_oabi-compat.c has build > errors. Fix these by surrounding them with ifdef CONFIG_EPOLL/endif > and providing stubs for the "EPOLL is not set" case. > > ../arch/arm/kernel/sys_oabi-compat.c: In function 'sys_oabi_epoll_ctl': > ../arch/arm/kernel/sys_oabi-compat.c:257:6: error: implicit declaration of function 'ep_op_has_event' [-Werror=implicit-function-declaration] > 257 | if (ep_op_has_event(op) && > | ^~~~~~~~~~~~~~~ > ../arch/arm/kernel/sys_oabi-compat.c:264:9: error: implicit declaration of function 'do_epoll_ctl'; did you mean 'sys_epoll_ctl'? [-Werror=implicit-function-declaration] > 264 | return do_epoll_ctl(epfd, op, fd, &kernel, false); > | ^~~~~~~~~~~~ > > Fixes: c281634c8652 ("ARM: compat: remove KERNEL_DS usage in sys_oabi_epoll_ctl()") > Signed-off-by: Randy Dunlap <rdunlap@infradead.org> > Reported-by: kernel test robot <lkp@intel.com> # from an lkp .config file > Cc: Russell King <linux@armlinux.org.uk> > Cc: linux-arm-kernel@lists.infradead.org > Cc: Nicolas Pitre <nico@fluxnic.net> > Cc: Alexander Viro <viro@zeniv.linux.org.uk> > Cc: patches@armlinux.org.uk Acked-by: Nicolas Pitre <nico@fluxnic.net> > --- > v2: use correct Fixes: tag (thanks, rmk) > v3: add patches@ to Cc: list > > arch/arm/kernel/sys_oabi-compat.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > --- linux-next-20201214.orig/arch/arm/kernel/sys_oabi-compat.c > +++ linux-next-20201214/arch/arm/kernel/sys_oabi-compat.c > @@ -248,6 +248,7 @@ struct oabi_epoll_event { > __u64 data; > } __attribute__ ((packed,aligned(4))); > > +#ifdef CONFIG_EPOLL > asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, > struct oabi_epoll_event __user *event) > { > @@ -298,6 +299,20 @@ asmlinkage long sys_oabi_epoll_wait(int > kfree(kbuf); > return err ? -EFAULT : ret; > } > +#else > +asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, > + struct oabi_epoll_event __user *event) > +{ > + return -EINVAL; > +} > + > +asmlinkage long sys_oabi_epoll_wait(int epfd, > + struct oabi_epoll_event __user *events, > + int maxevents, int timeout) > +{ > + return -EINVAL; > +} > +#endif > > struct oabi_sembuf { > unsigned short sem_num; >
--- linux-next-20201214.orig/arch/arm/kernel/sys_oabi-compat.c +++ linux-next-20201214/arch/arm/kernel/sys_oabi-compat.c @@ -248,6 +248,7 @@ struct oabi_epoll_event { __u64 data; } __attribute__ ((packed,aligned(4))); +#ifdef CONFIG_EPOLL asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, struct oabi_epoll_event __user *event) { @@ -298,6 +299,20 @@ asmlinkage long sys_oabi_epoll_wait(int kfree(kbuf); return err ? -EFAULT : ret; } +#else +asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd, + struct oabi_epoll_event __user *event) +{ + return -EINVAL; +} + +asmlinkage long sys_oabi_epoll_wait(int epfd, + struct oabi_epoll_event __user *events, + int maxevents, int timeout) +{ + return -EINVAL; +} +#endif struct oabi_sembuf { unsigned short sem_num;
When CONFIG_EPOLL is not set/enabled, sys_oabi-compat.c has build errors. Fix these by surrounding them with ifdef CONFIG_EPOLL/endif and providing stubs for the "EPOLL is not set" case. ../arch/arm/kernel/sys_oabi-compat.c: In function 'sys_oabi_epoll_ctl': ../arch/arm/kernel/sys_oabi-compat.c:257:6: error: implicit declaration of function 'ep_op_has_event' [-Werror=implicit-function-declaration] 257 | if (ep_op_has_event(op) && | ^~~~~~~~~~~~~~~ ../arch/arm/kernel/sys_oabi-compat.c:264:9: error: implicit declaration of function 'do_epoll_ctl'; did you mean 'sys_epoll_ctl'? [-Werror=implicit-function-declaration] 264 | return do_epoll_ctl(epfd, op, fd, &kernel, false); | ^~~~~~~~~~~~ Fixes: c281634c8652 ("ARM: compat: remove KERNEL_DS usage in sys_oabi_epoll_ctl()") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Reported-by: kernel test robot <lkp@intel.com> # from an lkp .config file Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Cc: Nicolas Pitre <nico@fluxnic.net> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: patches@armlinux.org.uk --- v2: use correct Fixes: tag (thanks, rmk) v3: add patches@ to Cc: list arch/arm/kernel/sys_oabi-compat.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)