Commit 4d9781c5 authored by Roland Dreier's avatar Roland Dreier
Browse files

IB/uverbs: Fix alignment of struct ib_uverbs_create_qp_resp



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: default avatarRoland Dreier <rolandd@cisco.com>
parent 00df1b2c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;
};

/*