Thread (10 messages) 10 messages, 3 authors, 2023-07-26

Re: [Patch v2 5/5] RDMA/mana_ib : Query adapter capabilities

From: Simon Horman <hidden>
Date: 2023-07-26 12:32:01
Also in: linux-hyperv, linux-rdma, lkml

On Tue, Jul 25, 2023 at 08:57:00PM -0700, sharmaajay@linuxonhyperv.com wrote:

...
quoted hunk ↗ jump to hunk
diff --git a/drivers/infiniband/hw/mana/main.c b/drivers/infiniband/hw/mana/main.c
...
+int mana_ib_query_adapter_caps(struct mana_ib_dev *mib_dev)
+{
+	struct mana_ib_query_adapter_caps_resp resp = {};
+	struct mana_ib_query_adapter_caps_req req = {};
+	int err;
+
+	mana_gd_init_req_hdr(&req.hdr, MANA_IB_GET_ADAPTER_CAP, sizeof(req),
+			     sizeof(resp));
+	req.hdr.resp.msg_version = MANA_IB__GET_ADAPTER_CAP_RESPONSE_V3;
+	req.hdr.dev_id = mib_dev->gc->mana_ib.dev_id;
+
+	err = mana_gd_send_request(mib_dev->gc, sizeof(req), &req,
+				   sizeof(resp), &resp);
+
+	if (err) {
+		ibdev_err(&mib_dev->ib_dev, "Failed to query adapter caps err %d", err);
+		return err;
+	}
+
+	memcpy(&mib_dev->adapter_caps, &resp.max_sq_id,
+			sizeof(mib_dev->adapter_caps));
Hi Ajay,

The indentation of the line above is off.

	memcpy(&mib_dev->adapter_caps, &resp.max_sq_id,
	       sizeof(mib_dev->adapter_caps));

But, perhaps more importantly, an x86_64 allmodconfig W=1 build with gcc-12
yields:

 In file included from ./include/linux/string.h:254,
                  from ./include/linux/bitmap.h:11,
                  from ./include/linux/ethtool.h:16,
                  from ./include/rdma/ib_verbs.h:15,
                  from drivers/infiniband/hw/mana/mana_ib.h:9,
                  from drivers/infiniband/hw/mana/main.c:6:
 In function 'fortify_memcpy_chk',
     inlined from 'mana_ib_query_adapter_caps' at drivers/infiniband/hw/mana/main.c:626:2:
 ./include/linux/fortify-string.h:592:25: warning: call to '__read_overflow2_field' declared with attribute warning: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning]
   592 |                         __read_overflow2_field(q_size_field, size);
       |
+	return 0;
+}
...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help