• Jason Gunthorpe's avatar
    RDMA/qedr: Fix uABI structure layouts for 32/64 compat · 71e80a47
    Jason Gunthorpe authored
    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: default avatarMichal Kalderon <michal.kalderon@cavium.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    71e80a47
qedr-abi.h 2.7 KB