arch/arm/kernel/sys_oabi-compat.c:257:6: error: implicit declaration of function 'ep_op_has_event'

From: kernel test robot
Date: Sat Feb 20 2021 - 00:12:45 EST


Hi Russell,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f40ddce88593482919761f74910f42f4b84c004b
commit: c281634c865202e2776b0250678ff93c771947ff ARM: compat: remove KERNEL_DS usage in sys_oabi_epoll_ctl()
date: 10 months ago
config: arm-randconfig-r024-20210220 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c281634c865202e2776b0250678ff93c771947ff
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c281634c865202e2776b0250678ff93c771947ff
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

arch/arm/kernel/sys_oabi-compat.c:142:17: warning: no previous prototype for 'sys_oabi_stat64' [-Wmissing-prototypes]
142 | asmlinkage long sys_oabi_stat64(const char __user * filename,
| ^~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:152:17: warning: no previous prototype for 'sys_oabi_lstat64' [-Wmissing-prototypes]
152 | asmlinkage long sys_oabi_lstat64(const char __user * filename,
| ^~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:162:17: warning: no previous prototype for 'sys_oabi_fstat64' [-Wmissing-prototypes]
162 | asmlinkage long sys_oabi_fstat64(unsigned long fd,
| ^~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:172:17: warning: no previous prototype for 'sys_oabi_fstatat64' [-Wmissing-prototypes]
172 | asmlinkage long sys_oabi_fstatat64(int dfd,
| ^~~~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:229:17: warning: no previous prototype for 'sys_oabi_fcntl64' [-Wmissing-prototypes]
229 | asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
| ^~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:251:17: warning: no previous prototype for 'sys_oabi_epoll_ctl' [-Wmissing-prototypes]
251 | asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd,
| ^~~~~~~~~~~~~~~~~~
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);
| ^~~~~~~~~~~~
| sys_epoll_ctl
arch/arm/kernel/sys_oabi-compat.c: At top level:
arch/arm/kernel/sys_oabi-compat.c:267:17: warning: no previous prototype for 'sys_oabi_epoll_wait' [-Wmissing-prototypes]
267 | asmlinkage long sys_oabi_epoll_wait(int epfd,
| ^~~~~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:309:17: warning: no previous prototype for 'sys_oabi_semtimedop' [-Wmissing-prototypes]
309 | asmlinkage long sys_oabi_semtimedop(int semid,
| ^~~~~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:352:17: warning: no previous prototype for 'sys_oabi_semop' [-Wmissing-prototypes]
352 | asmlinkage long sys_oabi_semop(int semid, struct oabi_sembuf __user *tsops,
| ^~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:358:16: warning: no previous prototype for 'sys_oabi_ipc' [-Wmissing-prototypes]
358 | asmlinkage int sys_oabi_ipc(uint call, int first, int second, int third,
| ^~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:376:17: warning: no previous prototype for 'sys_oabi_bind' [-Wmissing-prototypes]
376 | asmlinkage long sys_oabi_bind(int fd, struct sockaddr __user *addr, int addrlen)
| ^~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:386:17: warning: no previous prototype for 'sys_oabi_connect' [-Wmissing-prototypes]
386 | asmlinkage long sys_oabi_connect(int fd, struct sockaddr __user *addr, int addrlen)
| ^~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:396:17: warning: no previous prototype for 'sys_oabi_sendto' [-Wmissing-prototypes]
396 | asmlinkage long sys_oabi_sendto(int fd, void __user *buff,
| ^~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:409:17: warning: no previous prototype for 'sys_oabi_sendmsg' [-Wmissing-prototypes]
409 | asmlinkage long sys_oabi_sendmsg(int fd, struct user_msghdr __user *msg, unsigned flags)
| ^~~~~~~~~~~~~~~~
arch/arm/kernel/sys_oabi-compat.c:435:17: warning: no previous prototype for 'sys_oabi_socketcall' [-Wmissing-prototypes]
435 | asmlinkage long sys_oabi_socketcall(int call, unsigned long __user *args)
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +/ep_op_has_event +257 arch/arm/kernel/sys_oabi-compat.c

228
> 229 asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd,
230 unsigned long arg)
231 {
232 switch (cmd) {
233 case F_OFD_GETLK:
234 case F_OFD_SETLK:
235 case F_OFD_SETLKW:
236 case F_GETLK64:
237 case F_SETLK64:
238 case F_SETLKW64:
239 return do_locks(fd, cmd, arg);
240
241 default:
242 return sys_fcntl64(fd, cmd, arg);
243 }
244 }
245
246 struct oabi_epoll_event {
247 __u32 events;
248 __u64 data;
249 } __attribute__ ((packed,aligned(4)));
250
> 251 asmlinkage long sys_oabi_epoll_ctl(int epfd, int op, int fd,
252 struct oabi_epoll_event __user *event)
253 {
254 struct oabi_epoll_event user;
255 struct epoll_event kernel;
256
> 257 if (ep_op_has_event(op) &&
258 copy_from_user(&user, event, sizeof(user)))
259 return -EFAULT;
260
261 kernel.events = user.events;
262 kernel.data = user.data;
263
> 264 return do_epoll_ctl(epfd, op, fd, &kernel, false);
265 }
266

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip