[mingo-tip:sched/headers 2233/2340] net/ceph/messenger_v1.c:1066:3: error: implicit declaration of function 'memcpy_to_page'

From: kernel test robot
Date: Wed Feb 23 2022 - 14:36:58 EST


tree: git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git sched/headers
head: 97c5eeb4de3ad324ed2a4656b46465299cfd010a
commit: 7134c56595f0f35bb1f17fcbf4dcca28c52b8ae8 [2233/2340] headers/deps: mm: Introduce <linux/highmem_extra.h> for rarely used APIs
config: i386-randconfig-a015 (https://download.01.org/0day-ci/archive/20220224/202202240347.8dLJwUNW-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
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/mingo/tip.git/commit/?id=7134c56595f0f35bb1f17fcbf4dcca28c52b8ae8
git remote add mingo-tip git://git.kernel.org/pub/scm/linux/kernel/git/mingo/tip.git
git fetch --no-tags mingo-tip sched/headers
git checkout 7134c56595f0f35bb1f17fcbf4dcca28c52b8ae8
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash net/

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

Note: the mingo-tip/sched/headers HEAD 97c5eeb4de3ad324ed2a4656b46465299cfd010a builds fine.
It only hurts bisectability.

All errors (new ones prefixed by >>):

>> net/ceph/messenger_v1.c:1066:3: error: implicit declaration of function 'memcpy_to_page' [-Werror,-Wimplicit-function-declaration]
memcpy_to_page(page, off, page_address(con->bounce_page), ret);
^
net/ceph/messenger_v1.c:1066:3: note: did you mean 'memcpy_to_msg'?
include/linux/skbuff_api.h:2215:19: note: 'memcpy_to_msg' declared here
static inline int memcpy_to_msg(struct msghdr *msg, void *data, int len)
^
1 error generated.
--
>> net/ceph/messenger_v2.c:1805:3: error: implicit declaration of function 'memcpy_to_page' [-Werror,-Wimplicit-function-declaration]
memcpy_to_page(bv.bv_page, bv.bv_offset,
^
net/ceph/messenger_v2.c:1805:3: note: did you mean 'memcpy_to_msg'?
include/linux/skbuff_api.h:2215:19: note: 'memcpy_to_msg' declared here
static inline int memcpy_to_msg(struct msghdr *msg, void *data, int len)
^
1 error generated.


vim +/memcpy_to_page +1066 net/ceph/messenger_v1.c

2f713615ddd9d8 Ilya Dryomov 2020-11-12 1034
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1035 static int read_partial_msg_data_bounce(struct ceph_connection *con)
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1036 {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1037 struct ceph_msg_data_cursor *cursor = &con->in_msg->cursor;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1038 struct page *page;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1039 size_t off, len;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1040 u32 crc;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1041 int ret;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1042
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1043 if (unlikely(!con->bounce_page)) {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1044 con->bounce_page = alloc_page(GFP_NOIO);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1045 if (!con->bounce_page) {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1046 pr_err("failed to allocate bounce page\n");
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1047 return -ENOMEM;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1048 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1049 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1050
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1051 crc = con->in_data_crc;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1052 while (cursor->total_resid) {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1053 if (!cursor->resid) {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1054 ceph_msg_data_advance(cursor, 0);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1055 continue;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1056 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1057
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1058 page = ceph_msg_data_next(cursor, &off, &len, NULL);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1059 ret = ceph_tcp_recvpage(con->sock, con->bounce_page, 0, len);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1060 if (ret <= 0) {
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1061 con->in_data_crc = crc;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1062 return ret;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1063 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1064
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1065 crc = crc32c(crc, page_address(con->bounce_page), ret);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 @1066 memcpy_to_page(page, off, page_address(con->bounce_page), ret);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1067
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1068 ceph_msg_data_advance(cursor, ret);
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1069 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1070 con->in_data_crc = crc;
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1071
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1072 return 1; /* must return > 0 to indicate success */
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1073 }
038b8d1d1ab1cc Ilya Dryomov 2021-12-30 1074

:::::: The code at line 1066 was first introduced by commit
:::::: 038b8d1d1ab1cce11a158d30bf080ff41a2cfd15 libceph: optionally use bounce buffer on recv path in crc mode

:::::: TO: Ilya Dryomov <idryomov@xxxxxxxxx>
:::::: CC: Ilya Dryomov <idryomov@xxxxxxxxx>

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