IB/uverbs: Fix alignment of struct ib_uverbs_create_qp_resp
Roland Dreier [Thu, 16 Feb 2006 17:26:19 +0000 (09:26 -0800)]
The size of struct ib_uverbs_create_qp_resp is not even multiple of 8
bytes.  This causes problems for low-level drivers that add private
data after the structure: 32-bit userspace will look in the wrong
place for a response from a 64-bit kernel.  Fix this by adding a
reserved field.  Also, bump the ABI version because this changes the
size of a structure.

Pointed out by Hoang-Nam Nguyen <HNGUYEN@de.ibm.com>.

Signed-off-by: Roland Dreier <rolandd@cisco.com>

include/rdma/ib_user_verbs.h

index 0edd3a6..3bf4402 100644 (file)
@@ -44,7 +44,7 @@
  * Increment this value if any changes that break userspace ABI
  * compatibility are made.
  */
-#define IB_USER_VERBS_ABI_VERSION      4
+#define IB_USER_VERBS_ABI_VERSION      5
 
 enum {
        IB_USER_VERBS_CMD_GET_CONTEXT,
@@ -350,6 +350,7 @@ struct ib_uverbs_create_qp_resp {
        __u32 max_send_sge;
        __u32 max_recv_sge;
        __u32 max_inline_data;
+       __u32 reserved;
 };
 
 /*