tree:
git://git.linux-nfs.org/projects/cel/cel-2.6.git ib-cm-tracepoints
head: 0f1fb23980d1722dd444f176751fc589536a6816
commit: 0f1fb23980d1722dd444f176751fc589536a6816 [2/2] RDMA/cm: Add tracepoints to record
errors related to ib_cm events
config: x86_64-randconfig-s021-20200619 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-18-g27caae40-dirty
git checkout 0f1fb23980d1722dd444f176751fc589536a6816
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/infiniband/core/cm.c:1277:21: sparse: sparse: cast from restricted __be32
> drivers/infiniband/core/cm.c:2229:56: sparse: sparse: incorrect
type in argument 1 (different base types) @@ expected unsigned int [usertype] local_id
@@ got restricted __be32 [usertype] local_id @@
> drivers/infiniband/core/cm.c:2229:56: sparse: expected unsigned int [usertype]
local_id
> drivers/infiniband/core/cm.c:2229:56: sparse: got restricted __be32 [usertype]
local_id
vim +2229 drivers/infiniband/core/cm.c
2211
2212 int ib_send_cm_rep(struct ib_cm_id *cm_id,
2213 struct ib_cm_rep_param *param)
2214 {
2215 struct cm_id_private *cm_id_priv;
2216 struct ib_mad_send_buf *msg;
2217 struct cm_rep_msg *rep_msg;
2218 unsigned long flags;
2219 int ret;
2220
2221 if (param->private_data &&
2222 param->private_data_len > IB_CM_REP_PRIVATE_DATA_SIZE)
2223 return -EINVAL;
2224
2225 cm_id_priv = container_of(cm_id, struct cm_id_private, id);
2226 spin_lock_irqsave(&cm_id_priv->lock, flags);
2227 if (cm_id->state != IB_CM_REQ_RCVD &&
2228 cm_id->state != IB_CM_MRA_REQ_SENT) {
2229 trace_ib_cm_send_rep_err(cm_id_priv->id.local_id,
cm_id->state);
2230 ret = -EINVAL;
2231 goto out;
2232 }
2233
2234 ret = cm_alloc_msg(cm_id_priv, &msg);
2235 if (ret)
2236 goto out;
2237
2238 rep_msg = (struct cm_rep_msg *) msg->mad;
2239 cm_format_rep(rep_msg, cm_id_priv, param);
2240 msg->timeout_ms = cm_id_priv->timeout_ms;
2241 msg->context[1] = (void *) (unsigned long) IB_CM_REP_SENT;
2242
2243 ret = ib_post_send_mad(msg, NULL);
2244 if (ret) {
2245 spin_unlock_irqrestore(&cm_id_priv->lock, flags);
2246 cm_free_msg(msg);
2247 return ret;
2248 }
2249
2250 cm_id->state = IB_CM_REP_SENT;
2251 cm_id_priv->msg = msg;
2252 cm_id_priv->initiator_depth = param->initiator_depth;
2253 cm_id_priv->responder_resources = param->responder_resources;
2254 cm_id_priv->rq_psn = cpu_to_be32(IBA_GET(CM_REP_STARTING_PSN, rep_msg));
2255 WARN_ONCE(param->qp_num & 0xFF000000,
2256 "IBTA declares QPN to be 24 bits, but it is 0x%X\n",
2257 param->qp_num);
2258 cm_id_priv->local_qpn = cpu_to_be32(param->qp_num & 0xFFFFFF);
2259
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org