> From: Jason Gunthorpe [mailto:jgg@xxxxxxxx] > Sent: Tuesday, March 20, 2018 10:20 PM > To: linux-rdma@xxxxxxxxxxxxxxx; Kalderon, Michal > <Michal.Kalderon@xxxxxxxxxx> > Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > Subject: [PATCH 3/6] RDMA/qedr: Fix uABI structure layouts for 32/64 > compat > > From: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > > struct qedr_alloc_ucontext_resp is a different length in 32 and 64 bit > compiles due to implicit compiler padding. > > The structs alloc_pd_uresp, create_cq_uresp and create_qp_uresp are not > padded by the compiler, but in user space the compiler pads them due to the > way the core and driver structs are concatenated. Make this padding explicit > and consistent for future sanity. > > The kernel driver can already handle the user buffer being smaller than > required and copies correctly, so no compat or ABI break happens from > introducing the explicit padding. > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > --- > include/uapi/rdma/qedr-abi.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/include/uapi/rdma/qedr-abi.h b/include/uapi/rdma/qedr-abi.h > index 261c6db4623e28..39665606293197 100644 > --- a/include/uapi/rdma/qedr-abi.h > +++ b/include/uapi/rdma/qedr-abi.h > @@ -53,6 +53,7 @@ struct qedr_alloc_ucontext_resp { > __u8 dpm_enabled; > __u8 wids_enabled; > __u16 wid_count; > + __u32 reserved; > }; > > struct qedr_alloc_pd_ureq { > @@ -61,6 +62,7 @@ struct qedr_alloc_pd_ureq { > > struct qedr_alloc_pd_uresp { > __u32 pd_id; > + __u32 reserved; > }; > > struct qedr_create_cq_ureq { > @@ -71,6 +73,7 @@ struct qedr_create_cq_ureq { struct > qedr_create_cq_uresp { > __u32 db_offset; > __u16 icid; > + __u16 reserved; > }; > > struct qedr_create_qp_ureq { > @@ -105,6 +108,7 @@ struct qedr_create_qp_uresp { > __u16 rq_icid; > > __u32 rq_db2_offset; > + __u32 reserved; > }; > > #endif /* __QEDR_USER_H__ */ > -- > 2.16.1 thanks Jason Acked-by: Michal Kalderon <michal.kalderon@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html