Skip to content

Commit 6e7272a

Browse files
Junxian Huangrleon
authored andcommitted
RDMA/hns: Fix endian issue in trace events
Avoid using __le32 directly in trace events to fix sparse complains: drivers/infiniband/hw/hns/./hns_roce_trace.h:48:1: sparse: sparse: cast to restricted __le32 drivers/infiniband/hw/hns/./hns_roce_trace.h:48:1: sparse: sparse: restricted __le32 degrades to integer drivers/infiniband/hw/hns/./hns_roce_trace.h:48:1: sparse: sparse: restricted __le32 degrades to integer drivers/infiniband/hw/hns/./hns_roce_trace.h:90:1: sparse: sparse: cast to restricted __le32 drivers/infiniband/hw/hns/./hns_roce_trace.h:90:1: sparse: sparse: restricted __le32 degrades to integer drivers/infiniband/hw/hns/./hns_roce_trace.h:90:1: sparse: sparse: restricted __le32 degrades to integer drivers/infiniband/hw/hns/./hns_roce_trace.h:173:1: sparse: sparse: cast to restricted __le32 drivers/infiniband/hw/hns/./hns_roce_trace.h:173:1: sparse: sparse: restricted __le32 degrades to integer drivers/infiniband/hw/hns/./hns_roce_trace.h:173:1: sparse: sparse: restricted __le32 degrades to integer Fixes: 6c98c86 ("RDMA/hns: Add trace for WQE dumping") Fixes: 1e63e2f ("RDMA/hns: Add trace for AEQE dumping") Fixes: 6bd18da ("RDMA/hns: Add trace for CMDQ dumping") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202505170327.TNOpreil-lkp@intel.com/ Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com> Link: https://patch.msgid.link/20250523023433.2171003-1-huangjunxian6@hisilicon.com Signed-off-by: Leon Romanovsky <leon@kernel.org>
1 parent e91fb8b commit 6e7272a

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

drivers/infiniband/hw/hns/hns_roce_trace.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ DECLARE_EVENT_CLASS(wqe_template,
5252

5353
TP_STRUCT__entry(__field(unsigned long, qpn)
5454
__field(u32, idx)
55-
__array(__le32, wqe,
55+
__array(u32, wqe,
5656
MAX_WQE_SIZE / sizeof(__le32))
5757
__field(u32, len)
5858
__field(u64, id)
@@ -62,9 +62,10 @@ DECLARE_EVENT_CLASS(wqe_template,
6262
TP_fast_assign(__entry->qpn = qpn;
6363
__entry->idx = idx;
6464
__entry->id = id;
65-
memcpy(__entry->wqe, wqe, len);
6665
__entry->len = len / sizeof(__le32);
6766
__entry->type = type;
67+
for (int i = 0; i < __entry->len; i++)
68+
__entry->wqe[i] = le32_to_cpu(((__le32 *)wqe)[i]);
6869
),
6970

7071
TP_printk("%s 0x%lx wqe(0x%x/0x%llx): %s",
@@ -92,14 +93,15 @@ TRACE_EVENT(hns_ae_info,
9293
TP_ARGS(event_type, aeqe, len),
9394

9495
TP_STRUCT__entry(__field(int, event_type)
95-
__array(__le32, aeqe,
96+
__array(u32, aeqe,
9697
HNS_ROCE_V3_EQE_SIZE / sizeof(__le32))
9798
__field(u32, len)
9899
),
99100

100101
TP_fast_assign(__entry->event_type = event_type;
101102
__entry->len = len / sizeof(__le32);
102-
memcpy(__entry->aeqe, aeqe, len);
103+
for (int i = 0; i < __entry->len; i++)
104+
__entry->aeqe[i] = le32_to_cpu(((__le32 *)aeqe)[i]);
103105
),
104106

105107
TP_printk("event %2d aeqe: %s", __entry->event_type,
@@ -179,14 +181,15 @@ DECLARE_EVENT_CLASS(cmdq,
179181
__field(u16, opcode)
180182
__field(u16, flag)
181183
__field(u16, retval)
182-
__array(__le32, data, 6)
184+
__array(u32, data, 6)
183185
),
184186

185187
TP_fast_assign(__assign_str(dev_name);
186188
__entry->opcode = le16_to_cpu(desc->opcode);
187189
__entry->flag = le16_to_cpu(desc->flag);
188190
__entry->retval = le16_to_cpu(desc->retval);
189-
memcpy(__entry->data, desc->data, 6 * sizeof(__le32));
191+
for (int i = 0; i < 6; i++)
192+
__entry->data[i] = le32_to_cpu(desc->data[i]);
190193
),
191194

192195
TP_printk("%s cmdq opcode:0x%x, flag:0x%x, retval:0x%x, data:%s\n",

0 commit comments

Comments
 (0)