[PATCH] RDMA/irdma: fix irdma_alloc_ucontext_resp padding

From: Arnd Bergmann

Date: Mon Dec 08 2025 - 08:39:17 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

A recent modified struct irdma_alloc_ucontext_resp by adding a member
with implicit padding in front of it, changing the ABI in an
incompatibible way on all architectures other than m68k, as
reported by scripts/check-uapi.sh:

==== ABI differences detected in include/rdma/irdma-abi.h from 1dd7bde2e91c -> HEAD ====
[C] 'struct irdma_alloc_ucontext_resp' changed:
type size changed from 704 to 640 (in bits)
1 data member deletion:
'__u8 rsvd3[2]', at offset 640 (in bits) at irdma-abi.h:61:1
1 data member insertion:
'__u8 revd3[2]', at offset 592 (in bits) at irdma-abi.h:60:1

Change the ABI back to the previous version, by moving the new
max_hw_srq_quanta member into a naturally aligned location.

Fixes: 563e1feb5f6e ("RDMA/irdma: Add SRQ support")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
include/uapi/rdma/irdma-abi.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/rdma/irdma-abi.h b/include/uapi/rdma/irdma-abi.h
index f7788d33376b..36f20802bcc8 100644
--- a/include/uapi/rdma/irdma-abi.h
+++ b/include/uapi/rdma/irdma-abi.h
@@ -57,8 +57,8 @@ struct irdma_alloc_ucontext_resp {
__u8 rsvd2;
__aligned_u64 comp_mask;
__u16 min_hw_wq_size;
+ __u8 revd3[2];
__u32 max_hw_srq_quanta;
- __u8 rsvd3[2];
};

struct irdma_alloc_pd_resp {
--
2.39.5