struct ib_uverbs_get_context_resp {
        __u32 async_fd;
        __u32 num_comp_vectors;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_query_device {
 
 struct ib_uverbs_alloc_pd_resp {
        __u32 pd_handle;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_dealloc_pd {
 
 struct ib_uverbs_open_xrcd_resp {
        __u32 xrcd_handle;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_close_xrcd {
        __u32 mr_handle;
        __u32 lkey;
        __u32 rkey;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_rereg_mr {
        __aligned_u64 hca_va;
        __u32 pd_handle;
        __u32 access_flags;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_rereg_mr_resp {
        __u32 lkey;
        __u32 rkey;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_dereg_mr {
        __u32 pd_handle;
        __u8  mw_type;
        __u8  reserved[3];
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_alloc_mw_resp {
        __u32 mw_handle;
        __u32 rkey;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_dealloc_mw {
 struct ib_uverbs_create_cq_resp {
        __u32 cq_handle;
        __u32 cqe;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_ex_create_cq_resp {
        __u32 max_recv_sge;
        __u32 max_inline_data;
        __u32 reserved;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_ex_create_qp_resp {
        __u32   reserved;
 };
 
-struct ib_uverbs_modify_qp_resp {
-};
-
 struct ib_uverbs_ex_modify_qp_resp {
        __u32  comp_mask;
        __u32  response_length;
        __u32 pd_handle;
        __u32 reserved;
        struct ib_uverbs_ah_attr attr;
+       __aligned_u64 driver_data[0];
 };
 
 struct ib_uverbs_create_ah_resp {
        __u32 ah_handle;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_destroy_ah {
        __u32 max_wr;
        __u32 max_sge;
        __u32 srqn;
+       __u32 driver_data[0];
 };
 
 struct ib_uverbs_modify_srq {