tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.iov_iter_get_pages head: a2a7ea71b10083f1b6250f653c448f863d9212c6 commit: 221976dde0b1cce11d9f8af3148ba147ec859c5f [32/34] get rid of non-advancing variants config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20220622/202206220856.nKdUIClR-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-3) 11.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?id=221976dde0b1cce11d9f8af3148ba147ec859c5f git remote add viro-vfs https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git git fetch --no-tags viro-vfs work.iov_iter_get_pages git checkout 221976dde0b1cce11d9f8af3148ba147ec859c5f # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): fs/splice.c: In function 'iter_to_pipe': >> fs/splice.c:1170:24: error: implicit declaration of function 'iov_iter_get_pages'; did you mean 'iov_iter_get_pages2'? [-Werror=implicit-function-declaration] 1170 | left = iov_iter_get_pages(from, pages, ~0UL, 16, &start); | ^~~~~~~~~~~~~~~~~~ | iov_iter_get_pages2 cc1: some warnings being treated as errors vim +1170 fs/splice.c ee6e00c868221f5 Jens Axboe 2020-10-22 1152 79fddc4efd5d4de Al Viro 2016-09-17 1153 static int iter_to_pipe(struct iov_iter *from, 79fddc4efd5d4de Al Viro 2016-09-17 1154 struct pipe_inode_info *pipe, 79fddc4efd5d4de Al Viro 2016-09-17 1155 unsigned flags) 912d35f86781e64 Jens Axboe 2006-04-26 1156 { 79fddc4efd5d4de Al Viro 2016-09-17 1157 struct pipe_buffer buf = { 79fddc4efd5d4de Al Viro 2016-09-17 1158 .ops = &user_page_pipe_buf_ops, 79fddc4efd5d4de Al Viro 2016-09-17 1159 .flags = flags 79fddc4efd5d4de Al Viro 2016-09-17 1160 }; 79fddc4efd5d4de Al Viro 2016-09-17 1161 size_t total = 0; 79fddc4efd5d4de Al Viro 2016-09-17 1162 int ret = 0; 79fddc4efd5d4de Al Viro 2016-09-17 1163 8db7e158dc8b1b2 Al Viro 2022-06-09 1164 while (iov_iter_count(from)) { 79fddc4efd5d4de Al Viro 2016-09-17 1165 struct page *pages[16]; 8db7e158dc8b1b2 Al Viro 2022-06-09 1166 ssize_t left; db85a9eb2e364e2 Al Viro 2016-09-17 1167 size_t start; 8db7e158dc8b1b2 Al Viro 2022-06-09 1168 int i, n; db85a9eb2e364e2 Al Viro 2016-09-17 1169 8db7e158dc8b1b2 Al Viro 2022-06-09 @1170 left = iov_iter_get_pages(from, pages, ~0UL, 16, &start); 8db7e158dc8b1b2 Al Viro 2022-06-09 1171 if (left <= 0) { 8db7e158dc8b1b2 Al Viro 2022-06-09 1172 ret = left; 79fddc4efd5d4de Al Viro 2016-09-17 1173 break; 79fddc4efd5d4de Al Viro 2016-09-17 1174 } db85a9eb2e364e2 Al Viro 2016-09-17 1175 8db7e158dc8b1b2 Al Viro 2022-06-09 1176 n = DIV_ROUND_UP(left + start, PAGE_SIZE); 8db7e158dc8b1b2 Al Viro 2022-06-09 1177 for (i = 0; i < n; i++) { 8db7e158dc8b1b2 Al Viro 2022-06-09 1178 int size = min_t(int, left, PAGE_SIZE - start); 8db7e158dc8b1b2 Al Viro 2022-06-09 1179 8db7e158dc8b1b2 Al Viro 2022-06-09 1180 buf.page = pages[i]; 79fddc4efd5d4de Al Viro 2016-09-17 1181 buf.offset = start; 79fddc4efd5d4de Al Viro 2016-09-17 1182 buf.len = size; 79fddc4efd5d4de Al Viro 2016-09-17 1183 ret = add_to_pipe(pipe, &buf); 79fddc4efd5d4de Al Viro 2016-09-17 1184 if (unlikely(ret < 0)) { 8db7e158dc8b1b2 Al Viro 2022-06-09 1185 iov_iter_revert(from, left); 8db7e158dc8b1b2 Al Viro 2022-06-09 1186 // this one got dropped by add_to_pipe() 8db7e158dc8b1b2 Al Viro 2022-06-09 1187 while (++i < n) 8db7e158dc8b1b2 Al Viro 2022-06-09 1188 put_page(pages[i]); 8db7e158dc8b1b2 Al Viro 2022-06-09 1189 goto out; 79fddc4efd5d4de Al Viro 2016-09-17 1190 } 8db7e158dc8b1b2 Al Viro 2022-06-09 1191 total += ret; 8db7e158dc8b1b2 Al Viro 2022-06-09 1192 left -= size; 8db7e158dc8b1b2 Al Viro 2022-06-09 1193 start = 0; 912d35f86781e64 Jens Axboe 2006-04-26 1194 } 912d35f86781e64 Jens Axboe 2006-04-26 1195 } 8db7e158dc8b1b2 Al Viro 2022-06-09 1196 out: 79fddc4efd5d4de Al Viro 2016-09-17 1197 return total ? total : ret; 912d35f86781e64 Jens Axboe 2006-04-26 1198 } 912d35f86781e64 Jens Axboe 2006-04-26 1199 :::::: The code at line 1170 was first introduced by commit :::::: 8db7e158dc8b1b2aca1a1b33cda0ac91b12b29c5 iter_to_pipe(): switch to advancing variant of iov_iter_get_pages() :::::: TO: Al Viro <viro@xxxxxxxxxxxxxxxxxx> :::::: CC: Al Viro <viro@xxxxxxxxxxxxxxxxxx> -- 0-DAY CI Kernel Test Service https://01.org/lkp