History

RDMA/rvt: Do not use a kernel header in the ABI

rvt was using ib_sge as part of it's ABI, which is not allowed. Introduce a new struct with the same layout and use it instead.

Jason Gunthorpe committed 7 years ago

Commit f10ff381 parent 4c7d6dc2 files · +34 −7Browse files

Showing the changes to include/uapi (1 of 2 files). Show all

Unified · Split

include/uapi/rdma/rvt-abi.h+7−2
@@ -10,11 +10,16 @@ · 9 unmodified lines
10 10
11#include <linux/types.h>11#include <linux/types.h>
12#include <rdma/ib_user_verbs.h>12#include <rdma/ib_user_verbs.h>
13#include <rdma/ib_verbs.h>
14#ifndef RDMA_ATOMIC_UAPI13#ifndef RDMA_ATOMIC_UAPI
15#define RDMA_ATOMIC_UAPI(_type, _name) struct{ _type val; } _name14#define RDMA_ATOMIC_UAPI(_type, _name) struct{ _type val; } _name
16#endif15#endif
17 16
17struct rvt_wqe_sge {
18 __aligned_u64 addr;
19 __u32 length;
20 __u32 lkey;
21};
22
18/*23/*
19 * This structure is used to contain the head pointer, tail pointer,24 * This structure is used to contain the head pointer, tail pointer,
20 * and completion queue entries as a single memory allocation so25 * and completion queue entries as a single memory allocation so
@@ -39,7 +44,7 @@ struct rvt_rwqe { · 18 unmodified lines
39 __u64 wr_id;44 __u64 wr_id;
40 __u8 num_sge;45 __u8 num_sge;
41 __u8 padding[7];46 __u8 padding[7];
42 struct ib_sge sg_list[];47 struct rvt_wqe_sge sg_list[];
43};48};
44 49
45/*50/*