diff options
author | Roland Dreier <rolandd@cisco.com> | 2006-02-16 12:26:19 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2006-03-20 13:08:16 -0500 |
commit | 4d9781c5ce1a517a07dbf03c37323c011037fe79 (patch) | |
tree | 68ad197f6ced067ab8c29294d156ee6e2e04da4e | |
parent | 00df1b2c8b1f07e02a74e2d10b176f29395ce7d2 (diff) |
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: Roland Dreier <rolandd@cisco.com>
-rw-r--r-- | include/rdma/ib_user_verbs.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/rdma/ib_user_verbs.h b/include/rdma/ib_user_verbs.h index 0edd3a6fe8f5..3bf4402f466a 100644 --- a/include/rdma/ib_user_verbs.h +++ b/include/rdma/ib_user_verbs.h | |||
@@ -44,7 +44,7 @@ | |||
44 | * Increment this value if any changes that break userspace ABI | 44 | * Increment this value if any changes that break userspace ABI |
45 | * compatibility are made. | 45 | * compatibility are made. |
46 | */ | 46 | */ |
47 | #define IB_USER_VERBS_ABI_VERSION 4 | 47 | #define IB_USER_VERBS_ABI_VERSION 5 |
48 | 48 | ||
49 | enum { | 49 | enum { |
50 | IB_USER_VERBS_CMD_GET_CONTEXT, | 50 | IB_USER_VERBS_CMD_GET_CONTEXT, |
@@ -350,6 +350,7 @@ struct ib_uverbs_create_qp_resp { | |||
350 | __u32 max_send_sge; | 350 | __u32 max_send_sge; |
351 | __u32 max_recv_sge; | 351 | __u32 max_recv_sge; |
352 | __u32 max_inline_data; | 352 | __u32 max_inline_data; |
353 | __u32 reserved; | ||
353 | }; | 354 | }; |
354 | 355 | ||
355 | /* | 356 | /* |