Messages in this thread | | | Date | Thu, 26 May 2022 05:30:06 +0800 | From | kernel test robot <> | Subject | [axboe-block:for-5.20/io_uring 28/53] io_uring/io_uring.c:12888:15: error: use of undeclared identifier 'io_sendmsg_recvmsg_cleanup' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.20/io_uring head: 84f1dd6310da01fcc5bdc6b1f31d4bcfeea958d2 commit: 2f5dbd1b2ea6935f2a36342a26cda8e427ee9f4d [28/53] io_uring: define a request type cleanup handler config: hexagon-randconfig-r045-20220524 (https://download.01.org/0day-ci/archive/20220526/202205260517.tFznK2ov-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d52a6e75b0c402c7f3b42a2b1b2873f151220947) 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=2f5dbd1b2ea6935f2a36342a26cda8e427ee9f4d git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git git fetch --no-tags axboe-block for-5.20/io_uring git checkout 2f5dbd1b2ea6935f2a36342a26cda8e427ee9f4d # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com>
Note: the axboe-block/for-5.20/io_uring HEAD 84f1dd6310da01fcc5bdc6b1f31d4bcfeea958d2 builds fine. It only hurts bisectability.
All errors (new ones prefixed by >>):
>> io_uring/io_uring.c:12888:15: error: use of undeclared identifier 'io_sendmsg_recvmsg_cleanup' .cleanup = io_sendmsg_recvmsg_cleanup, ^ io_uring/io_uring.c:12899:15: error: use of undeclared identifier 'io_sendmsg_recvmsg_cleanup' .cleanup = io_sendmsg_recvmsg_cleanup, ^ io_uring/io_uring.c:13194:15: error: invalid application of 'sizeof' to an incomplete type 'const struct io_op_def[]' BUILD_BUG_ON(ARRAY_SIZE(io_op_defs) != IORING_OP_LAST); ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE' #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^ include/linux/build_bug.h:50:19: note: expanded from macro 'BUILD_BUG_ON' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:58: note: expanded from macro 'BUILD_BUG_ON_MSG' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ include/linux/compiler_types.h:352:22: note: expanded from macro 'compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:340:23: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler_types.h:332:9: note: expanded from macro '__compiletime_assert' if (!(condition)) \ ^~~~~~~~~ io_uring/io_uring.c:13201:18: error: invalid application of 'sizeof' to an incomplete type 'const struct io_op_def[]' for (i = 0; i < ARRAY_SIZE(io_op_defs); i++) { ^~~~~~~~~~~~~~~~~~~~~~ include/linux/kernel.h:55:32: note: expanded from macro 'ARRAY_SIZE' #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) ^~~~~ io_uring/io_uring.c:12793:31: warning: tentative array definition assumed to have one element static const struct io_op_def io_op_defs[] = { ^ 1 warning and 4 errors generated.
vim +/io_sendmsg_recvmsg_cleanup +12888 io_uring/io_uring.c
12792 12793 static const struct io_op_def io_op_defs[] = { 12794 [IORING_OP_NOP] = { 12795 .audit_skip = 1, 12796 .iopoll = 1, 12797 .buffer_select = 1, 12798 .prep = io_nop_prep, 12799 .issue = io_nop, 12800 }, 12801 [IORING_OP_READV] = { 12802 .needs_file = 1, 12803 .unbound_nonreg_file = 1, 12804 .pollin = 1, 12805 .buffer_select = 1, 12806 .plug = 1, 12807 .audit_skip = 1, 12808 .ioprio = 1, 12809 .iopoll = 1, 12810 .async_size = sizeof(struct io_async_rw), 12811 .prep = io_prep_rw, 12812 .issue = io_read, 12813 .prep_async = io_readv_prep_async, 12814 .cleanup = io_readv_writev_cleanup, 12815 }, 12816 [IORING_OP_WRITEV] = { 12817 .needs_file = 1, 12818 .hash_reg_file = 1, 12819 .unbound_nonreg_file = 1, 12820 .pollout = 1, 12821 .plug = 1, 12822 .audit_skip = 1, 12823 .ioprio = 1, 12824 .iopoll = 1, 12825 .async_size = sizeof(struct io_async_rw), 12826 .prep = io_prep_rw, 12827 .issue = io_write, 12828 .prep_async = io_writev_prep_async, 12829 .cleanup = io_readv_writev_cleanup, 12830 }, 12831 [IORING_OP_FSYNC] = { 12832 .needs_file = 1, 12833 .audit_skip = 1, 12834 .prep = io_fsync_prep, 12835 .issue = io_fsync, 12836 }, 12837 [IORING_OP_READ_FIXED] = { 12838 .needs_file = 1, 12839 .unbound_nonreg_file = 1, 12840 .pollin = 1, 12841 .plug = 1, 12842 .audit_skip = 1, 12843 .ioprio = 1, 12844 .iopoll = 1, 12845 .async_size = sizeof(struct io_async_rw), 12846 .prep = io_prep_rw, 12847 .issue = io_read, 12848 }, 12849 [IORING_OP_WRITE_FIXED] = { 12850 .needs_file = 1, 12851 .hash_reg_file = 1, 12852 .unbound_nonreg_file = 1, 12853 .pollout = 1, 12854 .plug = 1, 12855 .audit_skip = 1, 12856 .ioprio = 1, 12857 .iopoll = 1, 12858 .async_size = sizeof(struct io_async_rw), 12859 .prep = io_prep_rw, 12860 .issue = io_write, 12861 }, 12862 [IORING_OP_POLL_ADD] = { 12863 .needs_file = 1, 12864 .unbound_nonreg_file = 1, 12865 .audit_skip = 1, 12866 .prep = io_poll_add_prep, 12867 .issue = io_poll_add, 12868 }, 12869 [IORING_OP_POLL_REMOVE] = { 12870 .audit_skip = 1, 12871 .prep = io_poll_remove_prep, 12872 .issue = io_poll_remove, 12873 }, 12874 [IORING_OP_SYNC_FILE_RANGE] = { 12875 .needs_file = 1, 12876 .audit_skip = 1, 12877 .prep = io_sfr_prep, 12878 .issue = io_sync_file_range, 12879 }, 12880 [IORING_OP_SENDMSG] = { 12881 .needs_file = 1, 12882 .unbound_nonreg_file = 1, 12883 .pollout = 1, 12884 .async_size = sizeof(struct io_async_msghdr), 12885 .prep = io_sendmsg_prep, 12886 .issue = io_sendmsg, 12887 .prep_async = io_sendmsg_prep_async, 12888 .cleanup = io_sendmsg_recvmsg_cleanup, 12889 }, 12890 [IORING_OP_RECVMSG] = { 12891 .needs_file = 1, 12892 .unbound_nonreg_file = 1, 12893 .pollin = 1, 12894 .buffer_select = 1, 12895 .async_size = sizeof(struct io_async_msghdr), 12896 .prep = io_recvmsg_prep, 12897 .issue = io_recvmsg, 12898 .prep_async = io_recvmsg_prep_async, 12899 .cleanup = io_sendmsg_recvmsg_cleanup, 12900 }, 12901 [IORING_OP_TIMEOUT] = { 12902 .audit_skip = 1, 12903 .async_size = sizeof(struct io_timeout_data), 12904 .prep = io_timeout_prep, 12905 .issue = io_timeout, 12906 }, 12907 [IORING_OP_TIMEOUT_REMOVE] = { 12908 /* used by timeout updates' prep() */ 12909 .audit_skip = 1, 12910 .prep = io_timeout_remove_prep, 12911 .issue = io_timeout_remove, 12912 }, 12913 [IORING_OP_ACCEPT] = { 12914 .needs_file = 1, 12915 .unbound_nonreg_file = 1, 12916 .pollin = 1, 12917 .poll_exclusive = 1, 12918 .ioprio = 1, /* used for flags */ 12919 .prep = io_accept_prep, 12920 .issue = io_accept, 12921 }, 12922 [IORING_OP_ASYNC_CANCEL] = { 12923 .audit_skip = 1, 12924 .prep = io_async_cancel_prep, 12925 .issue = io_async_cancel, 12926 }, 12927 [IORING_OP_LINK_TIMEOUT] = { 12928 .audit_skip = 1, 12929 .async_size = sizeof(struct io_timeout_data), 12930 .prep = io_link_timeout_prep, 12931 .issue = io_no_issue, 12932 }, 12933 [IORING_OP_CONNECT] = { 12934 .needs_file = 1, 12935 .unbound_nonreg_file = 1, 12936 .pollout = 1, 12937 .async_size = sizeof(struct io_async_connect), 12938 .prep = io_connect_prep, 12939 .issue = io_connect, 12940 .prep_async = io_connect_prep_async, 12941 }, 12942 [IORING_OP_FALLOCATE] = { 12943 .needs_file = 1, 12944 .prep = io_fallocate_prep, 12945 .issue = io_fallocate, 12946 }, 12947 [IORING_OP_OPENAT] = { 12948 .prep = io_openat_prep, 12949 .issue = io_openat, 12950 .cleanup = io_open_cleanup, 12951 }, 12952 [IORING_OP_CLOSE] = { 12953 .prep = io_close_prep, 12954 .issue = io_close, 12955 }, 12956 [IORING_OP_FILES_UPDATE] = { 12957 .audit_skip = 1, 12958 .iopoll = 1, 12959 .prep = io_files_update_prep, 12960 .issue = io_files_update, 12961 }, 12962 [IORING_OP_STATX] = { 12963 .audit_skip = 1, 12964 .prep = io_statx_prep, 12965 .issue = io_statx, 12966 .cleanup = io_statx_cleanup, 12967 }, 12968 [IORING_OP_READ] = { 12969 .needs_file = 1, 12970 .unbound_nonreg_file = 1, 12971 .pollin = 1, 12972 .buffer_select = 1, 12973 .plug = 1, 12974 .audit_skip = 1, 12975 .ioprio = 1, 12976 .iopoll = 1, 12977 .async_size = sizeof(struct io_async_rw), 12978 .prep = io_prep_rw, 12979 .issue = io_read, 12980 }, 12981 [IORING_OP_WRITE] = { 12982 .needs_file = 1, 12983 .hash_reg_file = 1, 12984 .unbound_nonreg_file = 1, 12985 .pollout = 1, 12986 .plug = 1, 12987 .audit_skip = 1, 12988 .ioprio = 1, 12989 .iopoll = 1, 12990 .async_size = sizeof(struct io_async_rw), 12991 .prep = io_prep_rw, 12992 .issue = io_write, 12993 }, 12994 [IORING_OP_FADVISE] = { 12995 .needs_file = 1, 12996 .audit_skip = 1, 12997 .prep = io_fadvise_prep, 12998 .issue = io_fadvise, 12999 }, 13000 [IORING_OP_MADVISE] = { 13001 .prep = io_madvise_prep, 13002 .issue = io_madvise, 13003 }, 13004 [IORING_OP_SEND] = { 13005 .needs_file = 1, 13006 .unbound_nonreg_file = 1, 13007 .pollout = 1, 13008 .audit_skip = 1, 13009 .prep = io_sendmsg_prep, 13010 .issue = io_send, 13011 }, 13012 [IORING_OP_RECV] = { 13013 .needs_file = 1, 13014 .unbound_nonreg_file = 1, 13015 .pollin = 1, 13016 .buffer_select = 1, 13017 .audit_skip = 1, 13018 .prep = io_recvmsg_prep, 13019 .issue = io_recv, 13020 }, 13021 [IORING_OP_OPENAT2] = { 13022 .prep = io_openat2_prep, 13023 .issue = io_openat2, 13024 .cleanup = io_open_cleanup, 13025 }, 13026 [IORING_OP_EPOLL_CTL] = { 13027 .unbound_nonreg_file = 1, 13028 .audit_skip = 1, 13029 .prep = io_epoll_ctl_prep, 13030 .issue = io_epoll_ctl, 13031 }, 13032 [IORING_OP_SPLICE] = { 13033 .needs_file = 1, 13034 .hash_reg_file = 1, 13035 .unbound_nonreg_file = 1, 13036 .audit_skip = 1, 13037 .prep = io_splice_prep, 13038 .issue = io_splice, 13039 }, 13040 [IORING_OP_PROVIDE_BUFFERS] = { 13041 .audit_skip = 1, 13042 .iopoll = 1, 13043 .prep = io_provide_buffers_prep, 13044 .issue = io_provide_buffers, 13045 }, 13046 [IORING_OP_REMOVE_BUFFERS] = { 13047 .audit_skip = 1, 13048 .iopoll = 1, 13049 .prep = io_remove_buffers_prep, 13050 .issue = io_remove_buffers, 13051 }, 13052 [IORING_OP_TEE] = { 13053 .needs_file = 1, 13054 .hash_reg_file = 1, 13055 .unbound_nonreg_file = 1, 13056 .audit_skip = 1, 13057 .prep = io_tee_prep, 13058 .issue = io_tee, 13059 }, 13060 [IORING_OP_SHUTDOWN] = { 13061 .needs_file = 1, 13062 .prep = io_shutdown_prep, 13063 .issue = io_shutdown, 13064 }, 13065 [IORING_OP_RENAMEAT] = { 13066 .prep = io_renameat_prep, 13067 .issue = io_renameat, 13068 .cleanup = io_renameat_cleanup, 13069 }, 13070 [IORING_OP_UNLINKAT] = { 13071 .prep = io_unlinkat_prep, 13072 .issue = io_unlinkat, 13073 .cleanup = io_unlinkat_cleanup, 13074 }, 13075 [IORING_OP_MKDIRAT] = { 13076 .prep = io_mkdirat_prep, 13077 .issue = io_mkdirat, 13078 .cleanup = io_mkdirat_cleanup, 13079 }, 13080 [IORING_OP_SYMLINKAT] = { 13081 .prep = io_symlinkat_prep, 13082 .issue = io_symlinkat, 13083 .cleanup = io_link_cleanup, 13084 }, 13085 [IORING_OP_LINKAT] = { 13086 .prep = io_linkat_prep, 13087 .issue = io_linkat, 13088 .cleanup = io_link_cleanup, 13089 }, 13090 [IORING_OP_MSG_RING] = { 13091 .needs_file = 1, 13092 .iopoll = 1, 13093 .prep = io_msg_ring_prep, 13094 .issue = io_msg_ring, 13095 }, 13096 [IORING_OP_FSETXATTR] = { 13097 .needs_file = 1, 13098 .prep = io_fsetxattr_prep, 13099 .issue = io_fsetxattr, 13100 .cleanup = io_xattr_cleanup, 13101 }, 13102 [IORING_OP_SETXATTR] = { 13103 .prep = io_setxattr_prep, 13104 .issue = io_setxattr, 13105 .cleanup = io_xattr_cleanup, 13106 }, 13107 [IORING_OP_FGETXATTR] = { 13108 .needs_file = 1, 13109 .prep = io_fgetxattr_prep, 13110 .issue = io_fgetxattr, 13111 .cleanup = io_xattr_cleanup, 13112 }, 13113 [IORING_OP_GETXATTR] = { 13114 .prep = io_getxattr_prep, 13115 .issue = io_getxattr, 13116 .cleanup = io_xattr_cleanup, 13117 }, 13118 [IORING_OP_SOCKET] = { 13119 .audit_skip = 1, 13120 .prep = io_socket_prep, 13121 .issue = io_socket, 13122 }, 13123 [IORING_OP_URING_CMD] = { 13124 .needs_file = 1, 13125 .plug = 1, 13126 .async_size = uring_cmd_pdu_size(1), 13127 .prep = io_uring_cmd_prep, 13128 .issue = io_uring_cmd, 13129 .prep_async = io_uring_cmd_prep_async, 13130 }, 13131 }; 13132
-- 0-DAY CI Kernel Test Service https://01.org/lkp
| |