[axboe-block:nvme-passthru-wip 12/19] include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed'

From: kernel test robot
Date: Thu Oct 07 2021 - 17:41:23 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git nvme-passthru-wip
head: 9c18980ac90053bcdb21594eae48935d89bf389c
commit: 069d94370113e6543d01ae4af5646cdabc0c5a02 [12/19] io_uring: add helper for fixed-buffer uring-cmd
config: sparc-buildonly-randconfig-r006-20211007 (attached as .config)
compiler: sparc-linux-gcc (GCC) 11.2.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/axboe/linux-block.git/commit/?id=069d94370113e6543d01ae4af5646cdabc0c5a02
git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch --no-tags axboe-block nvme-passthru-wip
git checkout 069d94370113e6543d01ae4af5646cdabc0c5a02
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=sparc

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

All warnings (new ones prefixed by >>):

In file included from kernel/fork.c:98:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:162:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes]
162 | void __weak arch_release_task_struct(struct task_struct *tsk)
| ^~~~~~~~~~~~~~~~~~~~~~~~
kernel/fork.c:764:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes]
764 | void __init __weak arch_task_cache_init(void) { }
| ^~~~~~~~~~~~~~~~~~~~
kernel/fork.c:859:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes]
859 | int __weak arch_dup_task_struct(struct task_struct *dst,
| ^~~~~~~~~~~~~~~~~~~~
--
In file included from kernel/exit.c:66:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
kernel/exit.c:1810:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
1810 | __weak void abort(void)
| ^~~~~
--
In file included from drivers/nvme/host/nvme.h:19,
from drivers/nvme/host/core.c:25:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvme/host/core.c:3596:10: error: 'const struct file_operations' has no member named 'uring_cmd'
3596 | .uring_cmd = nvme_ns_chr_async_ioctl,
| ^~~~~~~~~
drivers/nvme/host/core.c:3596:27: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
3596 | .uring_cmd = nvme_ns_chr_async_ioctl,
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/nvme/host/core.c:3596:27: note: (near initialization for 'nvme_ns_chr_fops')
drivers/nvme/host/core.c:3596:27: error: initialization of 'int (*)(struct file *, struct vm_area_struct *)' from incompatible pointer type 'int (*)(struct io_uring_cmd *, enum io_uring_cmd_flags)' [-Werror=incompatible-pointer-types]
drivers/nvme/host/core.c:3596:27: note: (near initialization for 'nvme_ns_chr_fops.mmap')
cc1: some warnings being treated as errors
--
In file included from drivers/nvme/host/nvme.h:19,
from drivers/nvme/host/ioctl.c:8:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvme/host/ioctl.c: In function 'nvme_pt_task_cb':
drivers/nvme/host/ioctl.c:47:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
47 | ptcmd64 = (void __user *) bcmd->unused2[0];
| ^
drivers/nvme/host/ioctl.c:62:58: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
62 | struct nvme_passthru_cmd __user *ptcmd = (void *)bcmd->unused2[0];
| ^
drivers/nvme/host/ioctl.c: In function 'nvme_ns_async_ioctl':
drivers/nvme/host/ioctl.c:472:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
472 | void __user *argp = (void __user *) bcmd->unused2[0];
| ^
--
In file included from drivers/nvme/host/nvme.h:19,
from drivers/nvme/host/multipath.c:9:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvme/host/multipath.c:421:10: error: 'const struct file_operations' has no member named 'uring_cmd'
421 | .uring_cmd = nvme_ns_head_chr_async_ioctl,
| ^~~~~~~~~
drivers/nvme/host/multipath.c:421:27: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
421 | .uring_cmd = nvme_ns_head_chr_async_ioctl,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/nvme/host/multipath.c:421:27: note: (near initialization for 'nvme_ns_head_chr_fops')
drivers/nvme/host/multipath.c:421:27: error: initialization of 'int (*)(struct file *, struct vm_area_struct *)' from incompatible pointer type 'int (*)(struct io_uring_cmd *, enum io_uring_cmd_flags)' [-Werror=incompatible-pointer-types]
drivers/nvme/host/multipath.c:421:27: note: (near initialization for 'nvme_ns_head_chr_fops.mmap')
cc1: some warnings being treated as errors
--
In file included from drivers/nvme/host/nvme.h:19,
from drivers/nvme/host/zns.c:8:
>> include/linux/io_uring.h:55:5: warning: no previous prototype for 'io_uring_cmd_import_fixed' [-Wmissing-prototypes]
55 | int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~


vim +/io_uring_cmd_import_fixed +55 include/linux/io_uring.h

31
32 static inline void io_uring_files_cancel(void)
33 {
34 if (current->io_uring)
35 __io_uring_cancel(false);
36 }
37 static inline void io_uring_task_cancel(void)
38 {
39 if (current->io_uring)
40 __io_uring_cancel(true);
41 }
42 static inline void io_uring_free(struct task_struct *tsk)
43 {
44 if (tsk->io_uring)
45 __io_uring_free(tsk);
46 }
47 #else
48 static inline void io_uring_cmd_done(struct io_uring_cmd *cmd, ssize_t ret)
49 {
50 }
51 static inline void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd,
52 void (*driver_cb)(struct io_uring_cmd *))
53 {
54 }
> 55 int io_uring_cmd_import_fixed(void *ubuf, unsigned long len,
56 int rw, struct iov_iter *iter, void *ioucmd)
57 {
58 return -1;
59 }
60 static inline struct sock *io_uring_get_socket(struct file *file)
61 {
62 return NULL;
63 }
64 static inline void io_uring_task_cancel(void)
65 {
66 }
67 static inline void io_uring_files_cancel(void)
68 {
69 }
70 static inline void io_uring_free(struct task_struct *tsk)
71 {
72 }
73 #endif
74

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

Attachment: .config.gz
Description: application/gzip