From: Jiri Pirko <[email protected]>

Commit eb70d83a8645 ("RDMA/mana_ib: Adopt robust udata") renamed the
"flags" field of struct mana_ib_create_cq to "comp_mask", as
ib_copy_validate_udata_in_cm() only validates a member with that name.

The layout did not change, but the field has been a part of the UAPI
since commit 44b607ad4cdf ("RDMA/mana_ib: implement uapi for creation
of rnic cq"), so the rename breaks userspace referring to it,
for example the mana provider of rdma-core assigning cmd_drv->flags.

Convert the field to a union providing both names, so that
ib_copy_validate_udata_in_cm() still finds "comp_mask" and userspace
keeps "flags", without having to add a helper for this single case.

Fixes: eb70d83a8645 ("RDMA/mana_ib: Adopt robust udata")
Signed-off-by: Jiri Pirko <[email protected]>
---
 include/uapi/rdma/mana-abi.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/include/uapi/rdma/mana-abi.h b/include/uapi/rdma/mana-abi.h
index 410f0ddc8c89..431c7076f20a 100644
--- a/include/uapi/rdma/mana-abi.h
+++ b/include/uapi/rdma/mana-abi.h
@@ -25,7 +25,10 @@ enum mana_ib_create_cq_flags {
 
 struct mana_ib_create_cq {
        __aligned_u64 buf_addr;
-       __u16   comp_mask;
+       union {
+               __u16   comp_mask;
+               __u16   flags; /* the original name of the field */
+       };
        __u16   reserved0;
        __u32   reserved1;
 };
-- 
2.54.0


Reply via email to