[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202201280741.2EsIf9Jy-lkp@intel.com>
Date: Fri, 28 Jan 2022 07:23:38 +0800
From: kernel test robot <lkp@...el.com>
To: "D. Wythe" <alibuda@...ux.alibaba.com>, kgraul@...ux.ibm.com
Cc: kbuild-all@...ts.01.org, kuba@...nel.org, davem@...emloft.net,
netdev@...r.kernel.org, linux-s390@...r.kernel.org,
linux-rdma@...r.kernel.org, "D. Wythe" <alibuda@...ux.alibaba.com>
Subject: Re: [PATCH net-next 2/3] net/smc: Limits backlog connections
Hi Wythe",
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/D-Wythe/Optimizing-performance-in-short-lived/20220127-200912
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git fbb8295248e1d6f576d444309fcf79356008eac1
config: x86_64-randconfig-s022-20220124 (https://download.01.org/0day-ci/archive/20220128/202201280741.2EsIf9Jy-lkp@intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/718aff24f3fcc73ecb7bff17fcbe029b799c6624
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review D-Wythe/Optimizing-performance-in-short-lived/20220127-200912
git checkout 718aff24f3fcc73ecb7bff17fcbe029b799c6624
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash net/smc/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
sparse warnings: (new ones prefixed by >>)
>> net/smc/af_smc.c:2202:25: sparse: sparse: incorrect type in assignment (different modifiers) @@ expected struct inet_connection_sock_af_ops *ori_af_ops @@ got struct inet_connection_sock_af_ops const *icsk_af_ops @@
net/smc/af_smc.c:2202:25: sparse: expected struct inet_connection_sock_af_ops *ori_af_ops
net/smc/af_smc.c:2202:25: sparse: got struct inet_connection_sock_af_ops const *icsk_af_ops
vim +2202 net/smc/af_smc.c
2166
2167 static int smc_listen(struct socket *sock, int backlog)
2168 {
2169 struct sock *sk = sock->sk;
2170 struct smc_sock *smc;
2171 int rc;
2172
2173 smc = smc_sk(sk);
2174 lock_sock(sk);
2175
2176 rc = -EINVAL;
2177 if ((sk->sk_state != SMC_INIT && sk->sk_state != SMC_LISTEN) ||
2178 smc->connect_nonblock)
2179 goto out;
2180
2181 rc = 0;
2182 if (sk->sk_state == SMC_LISTEN) {
2183 sk->sk_max_ack_backlog = backlog;
2184 goto out;
2185 }
2186 /* some socket options are handled in core, so we could not apply
2187 * them to the clc socket -- copy smc socket options to clc socket
2188 */
2189 smc_copy_sock_settings_to_clc(smc);
2190 if (!smc->use_fallback)
2191 tcp_sk(smc->clcsock->sk)->syn_smc = 1;
2192
2193 /* save original sk_data_ready function and establish
2194 * smc-specific sk_data_ready function
2195 */
2196 smc->clcsk_data_ready = smc->clcsock->sk->sk_data_ready;
2197 smc->clcsock->sk->sk_data_ready = smc_clcsock_data_ready;
2198 smc->clcsock->sk->sk_user_data =
2199 (void *)((uintptr_t)smc | SK_USER_DATA_NOCOPY);
2200
2201 /* save origin ops */
> 2202 smc->ori_af_ops = inet_csk(smc->clcsock->sk)->icsk_af_ops;
2203
2204 smc->af_ops = *smc->ori_af_ops;
2205 smc->af_ops.syn_recv_sock = smc_tcp_syn_recv_sock;
2206
2207 inet_csk(smc->clcsock->sk)->icsk_af_ops = &smc->af_ops;
2208
2209 rc = kernel_listen(smc->clcsock, backlog);
2210 if (rc) {
2211 smc->clcsock->sk->sk_data_ready = smc->clcsk_data_ready;
2212 goto out;
2213 }
2214 sk->sk_max_ack_backlog = backlog;
2215 sk->sk_ack_backlog = 0;
2216 sk->sk_state = SMC_LISTEN;
2217
2218 out:
2219 release_sock(sk);
2220 return rc;
2221 }
2222
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists