RDMA/qedr: Fix uABI structure layouts for 32/64 compat
authorJason Gunthorpe <jgg@mellanox.com>
Tue, 20 Mar 2018 20:19:48 +0000 (14:19 -0600)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 27 Mar 2018 20:25:09 +0000 (14:25 -0600)
commit71e80a4781afbc4b1130b88109ddd8850201c78a
tree227711086427439c841080caf176e3f96696b98d
parent611cb92b082ad16b2fe1258e51d5aca7de540dfb
RDMA/qedr: Fix uABI structure layouts for 32/64 compat

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.

Acked-by: Michal Kalderon <michal.kalderon@cavium.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
include/uapi/rdma/qedr-abi.h