On Thu, Apr 08, 2021 at 04:40:33PM -0500, Bob Pearson wrote: > Add fields to struct rxe_send_wr in rdma_user_rxe.h to > support bind MW work requests from user space and kernel. > > Signed-off-by: Bob Pearson <rpearson@xxxxxxx> > include/uapi/rdma/rdma_user_rxe.h | 34 ++++++++++++++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > > diff --git a/include/uapi/rdma/rdma_user_rxe.h b/include/uapi/rdma/rdma_user_rxe.h > index 068433e2229d..b9c80ca73473 100644 > +++ b/include/uapi/rdma/rdma_user_rxe.h > @@ -99,7 +99,39 @@ struct rxe_send_wr { > __u32 remote_qkey; > __u16 pkey_index; > } ud; > - /* reg is only used by the kernel and is not part of the uapi */ > + struct { > + __aligned_u64 addr; > + __aligned_u64 length; > + union { > + __u32 mr_lkey; > + __aligned_u64 reserved1; > + }; > + union { > + __u32 mw_rkey; > + __aligned_u64 reserved2; > + }; > + __u32 rkey; > + __u32 access; > + __u32 flags; > + } umw; > + /* The following are only used by the kernel > + * and are not part of the uapi > + */ > + struct { > + __aligned_u64 addr; > + __aligned_u64 length; > + union { > + struct ib_mr *mr; A kernel struct should not appear in a uapi header, nor should secure kernel data ever be stored in user memory. I'm completely lost at how all this thinks it is working, we don't even have kernel verbs support for memory windows?? Jason