| From foo@baz Sun Nov 19 12:16:40 CET 2017 |
| From: "Dmitry V. Levin" <ldv@altlinux.org> |
| Date: Thu, 16 Feb 2017 18:05:13 +0300 |
| Subject: uapi: fix linux/rds.h userspace compilation errors |
| |
| From: "Dmitry V. Levin" <ldv@altlinux.org> |
| |
| |
| [ Upstream commit feb0869d90e51ce8b6fd8a46588465b1b5a26d09 ] |
| |
| Consistently use types from linux/types.h to fix the following |
| linux/rds.h userspace compilation errors: |
| |
| /usr/include/linux/rds.h:106:2: error: unknown type name 'uint8_t' |
| uint8_t name[32]; |
| /usr/include/linux/rds.h:107:2: error: unknown type name 'uint64_t' |
| uint64_t value; |
| /usr/include/linux/rds.h:117:2: error: unknown type name 'uint64_t' |
| uint64_t next_tx_seq; |
| /usr/include/linux/rds.h:118:2: error: unknown type name 'uint64_t' |
| uint64_t next_rx_seq; |
| /usr/include/linux/rds.h:121:2: error: unknown type name 'uint8_t' |
| uint8_t transport[TRANSNAMSIZ]; /* null term ascii */ |
| /usr/include/linux/rds.h:122:2: error: unknown type name 'uint8_t' |
| uint8_t flags; |
| /usr/include/linux/rds.h:129:2: error: unknown type name 'uint64_t' |
| uint64_t seq; |
| /usr/include/linux/rds.h:130:2: error: unknown type name 'uint32_t' |
| uint32_t len; |
| /usr/include/linux/rds.h:135:2: error: unknown type name 'uint8_t' |
| uint8_t flags; |
| /usr/include/linux/rds.h:139:2: error: unknown type name 'uint32_t' |
| uint32_t sndbuf; |
| /usr/include/linux/rds.h:144:2: error: unknown type name 'uint32_t' |
| uint32_t rcvbuf; |
| /usr/include/linux/rds.h:145:2: error: unknown type name 'uint64_t' |
| uint64_t inum; |
| /usr/include/linux/rds.h:153:2: error: unknown type name 'uint64_t' |
| uint64_t hdr_rem; |
| /usr/include/linux/rds.h:154:2: error: unknown type name 'uint64_t' |
| uint64_t data_rem; |
| /usr/include/linux/rds.h:155:2: error: unknown type name 'uint32_t' |
| uint32_t last_sent_nxt; |
| /usr/include/linux/rds.h:156:2: error: unknown type name 'uint32_t' |
| uint32_t last_expected_una; |
| /usr/include/linux/rds.h:157:2: error: unknown type name 'uint32_t' |
| uint32_t last_seen_una; |
| /usr/include/linux/rds.h:164:2: error: unknown type name 'uint8_t' |
| uint8_t src_gid[RDS_IB_GID_LEN]; |
| /usr/include/linux/rds.h:165:2: error: unknown type name 'uint8_t' |
| uint8_t dst_gid[RDS_IB_GID_LEN]; |
| /usr/include/linux/rds.h:167:2: error: unknown type name 'uint32_t' |
| uint32_t max_send_wr; |
| /usr/include/linux/rds.h:168:2: error: unknown type name 'uint32_t' |
| uint32_t max_recv_wr; |
| /usr/include/linux/rds.h:169:2: error: unknown type name 'uint32_t' |
| uint32_t max_send_sge; |
| /usr/include/linux/rds.h:170:2: error: unknown type name 'uint32_t' |
| uint32_t rdma_mr_max; |
| /usr/include/linux/rds.h:171:2: error: unknown type name 'uint32_t' |
| uint32_t rdma_mr_size; |
| /usr/include/linux/rds.h:212:9: error: unknown type name 'uint64_t' |
| typedef uint64_t rds_rdma_cookie_t; |
| /usr/include/linux/rds.h:215:2: error: unknown type name 'uint64_t' |
| uint64_t addr; |
| /usr/include/linux/rds.h:216:2: error: unknown type name 'uint64_t' |
| uint64_t bytes; |
| /usr/include/linux/rds.h:221:2: error: unknown type name 'uint64_t' |
| uint64_t cookie_addr; |
| /usr/include/linux/rds.h:222:2: error: unknown type name 'uint64_t' |
| uint64_t flags; |
| /usr/include/linux/rds.h:228:2: error: unknown type name 'uint64_t' |
| uint64_t cookie_addr; |
| /usr/include/linux/rds.h:229:2: error: unknown type name 'uint64_t' |
| uint64_t flags; |
| /usr/include/linux/rds.h:234:2: error: unknown type name 'uint64_t' |
| uint64_t flags; |
| /usr/include/linux/rds.h:240:2: error: unknown type name 'uint64_t' |
| uint64_t local_vec_addr; |
| /usr/include/linux/rds.h:241:2: error: unknown type name 'uint64_t' |
| uint64_t nr_local; |
| /usr/include/linux/rds.h:242:2: error: unknown type name 'uint64_t' |
| uint64_t flags; |
| /usr/include/linux/rds.h:243:2: error: unknown type name 'uint64_t' |
| uint64_t user_token; |
| /usr/include/linux/rds.h:248:2: error: unknown type name 'uint64_t' |
| uint64_t local_addr; |
| /usr/include/linux/rds.h:249:2: error: unknown type name 'uint64_t' |
| uint64_t remote_addr; |
| /usr/include/linux/rds.h:252:4: error: unknown type name 'uint64_t' |
| uint64_t compare; |
| /usr/include/linux/rds.h:253:4: error: unknown type name 'uint64_t' |
| uint64_t swap; |
| /usr/include/linux/rds.h:256:4: error: unknown type name 'uint64_t' |
| uint64_t add; |
| /usr/include/linux/rds.h:259:4: error: unknown type name 'uint64_t' |
| uint64_t compare; |
| /usr/include/linux/rds.h:260:4: error: unknown type name 'uint64_t' |
| uint64_t swap; |
| /usr/include/linux/rds.h:261:4: error: unknown type name 'uint64_t' |
| uint64_t compare_mask; |
| /usr/include/linux/rds.h:262:4: error: unknown type name 'uint64_t' |
| uint64_t swap_mask; |
| /usr/include/linux/rds.h:265:4: error: unknown type name 'uint64_t' |
| uint64_t add; |
| /usr/include/linux/rds.h:266:4: error: unknown type name 'uint64_t' |
| uint64_t nocarry_mask; |
| /usr/include/linux/rds.h:269:2: error: unknown type name 'uint64_t' |
| uint64_t flags; |
| /usr/include/linux/rds.h:270:2: error: unknown type name 'uint64_t' |
| uint64_t user_token; |
| /usr/include/linux/rds.h:274:2: error: unknown type name 'uint64_t' |
| uint64_t user_token; |
| /usr/include/linux/rds.h:275:2: error: unknown type name 'int32_t' |
| int32_t status; |
| |
| Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/uapi/linux/rds.h | 102 +++++++++++++++++++++++------------------------ |
| 1 file changed, 51 insertions(+), 51 deletions(-) |
| |
| --- a/include/uapi/linux/rds.h |
| +++ b/include/uapi/linux/rds.h |
| @@ -94,8 +94,8 @@ |
| #define RDS_INFO_LAST 10010 |
| |
| struct rds_info_counter { |
| - uint8_t name[32]; |
| - uint64_t value; |
| + __u8 name[32]; |
| + __u64 value; |
| } __attribute__((packed)); |
| |
| #define RDS_INFO_CONNECTION_FLAG_SENDING 0x01 |
| @@ -105,35 +105,35 @@ struct rds_info_counter { |
| #define TRANSNAMSIZ 16 |
| |
| struct rds_info_connection { |
| - uint64_t next_tx_seq; |
| - uint64_t next_rx_seq; |
| + __u64 next_tx_seq; |
| + __u64 next_rx_seq; |
| __be32 laddr; |
| __be32 faddr; |
| - uint8_t transport[TRANSNAMSIZ]; /* null term ascii */ |
| - uint8_t flags; |
| + __u8 transport[TRANSNAMSIZ]; /* null term ascii */ |
| + __u8 flags; |
| } __attribute__((packed)); |
| |
| #define RDS_INFO_MESSAGE_FLAG_ACK 0x01 |
| #define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02 |
| |
| struct rds_info_message { |
| - uint64_t seq; |
| - uint32_t len; |
| + __u64 seq; |
| + __u32 len; |
| __be32 laddr; |
| __be32 faddr; |
| __be16 lport; |
| __be16 fport; |
| - uint8_t flags; |
| + __u8 flags; |
| } __attribute__((packed)); |
| |
| struct rds_info_socket { |
| - uint32_t sndbuf; |
| + __u32 sndbuf; |
| __be32 bound_addr; |
| __be32 connected_addr; |
| __be16 bound_port; |
| __be16 connected_port; |
| - uint32_t rcvbuf; |
| - uint64_t inum; |
| + __u32 rcvbuf; |
| + __u64 inum; |
| } __attribute__((packed)); |
| |
| struct rds_info_tcp_socket { |
| @@ -141,25 +141,25 @@ struct rds_info_tcp_socket { |
| __be16 local_port; |
| __be32 peer_addr; |
| __be16 peer_port; |
| - uint64_t hdr_rem; |
| - uint64_t data_rem; |
| - uint32_t last_sent_nxt; |
| - uint32_t last_expected_una; |
| - uint32_t last_seen_una; |
| + __u64 hdr_rem; |
| + __u64 data_rem; |
| + __u32 last_sent_nxt; |
| + __u32 last_expected_una; |
| + __u32 last_seen_una; |
| } __attribute__((packed)); |
| |
| #define RDS_IB_GID_LEN 16 |
| struct rds_info_rdma_connection { |
| __be32 src_addr; |
| __be32 dst_addr; |
| - uint8_t src_gid[RDS_IB_GID_LEN]; |
| - uint8_t dst_gid[RDS_IB_GID_LEN]; |
| + __u8 src_gid[RDS_IB_GID_LEN]; |
| + __u8 dst_gid[RDS_IB_GID_LEN]; |
| |
| - uint32_t max_send_wr; |
| - uint32_t max_recv_wr; |
| - uint32_t max_send_sge; |
| - uint32_t rdma_mr_max; |
| - uint32_t rdma_mr_size; |
| + __u32 max_send_wr; |
| + __u32 max_recv_wr; |
| + __u32 max_send_sge; |
| + __u32 rdma_mr_max; |
| + __u32 rdma_mr_size; |
| }; |
| |
| /* |
| @@ -200,70 +200,70 @@ struct rds_info_rdma_connection { |
| * (so that the application does not have to worry about |
| * alignment). |
| */ |
| -typedef uint64_t rds_rdma_cookie_t; |
| +typedef __u64 rds_rdma_cookie_t; |
| |
| struct rds_iovec { |
| - uint64_t addr; |
| - uint64_t bytes; |
| + __u64 addr; |
| + __u64 bytes; |
| }; |
| |
| struct rds_get_mr_args { |
| struct rds_iovec vec; |
| - uint64_t cookie_addr; |
| - uint64_t flags; |
| + __u64 cookie_addr; |
| + __u64 flags; |
| }; |
| |
| struct rds_get_mr_for_dest_args { |
| struct __kernel_sockaddr_storage dest_addr; |
| struct rds_iovec vec; |
| - uint64_t cookie_addr; |
| - uint64_t flags; |
| + __u64 cookie_addr; |
| + __u64 flags; |
| }; |
| |
| struct rds_free_mr_args { |
| rds_rdma_cookie_t cookie; |
| - uint64_t flags; |
| + __u64 flags; |
| }; |
| |
| struct rds_rdma_args { |
| rds_rdma_cookie_t cookie; |
| struct rds_iovec remote_vec; |
| - uint64_t local_vec_addr; |
| - uint64_t nr_local; |
| - uint64_t flags; |
| - uint64_t user_token; |
| + __u64 local_vec_addr; |
| + __u64 nr_local; |
| + __u64 flags; |
| + __u64 user_token; |
| }; |
| |
| struct rds_atomic_args { |
| rds_rdma_cookie_t cookie; |
| - uint64_t local_addr; |
| - uint64_t remote_addr; |
| + __u64 local_addr; |
| + __u64 remote_addr; |
| union { |
| struct { |
| - uint64_t compare; |
| - uint64_t swap; |
| + __u64 compare; |
| + __u64 swap; |
| } cswp; |
| struct { |
| - uint64_t add; |
| + __u64 add; |
| } fadd; |
| struct { |
| - uint64_t compare; |
| - uint64_t swap; |
| - uint64_t compare_mask; |
| - uint64_t swap_mask; |
| + __u64 compare; |
| + __u64 swap; |
| + __u64 compare_mask; |
| + __u64 swap_mask; |
| } m_cswp; |
| struct { |
| - uint64_t add; |
| - uint64_t nocarry_mask; |
| + __u64 add; |
| + __u64 nocarry_mask; |
| } m_fadd; |
| }; |
| - uint64_t flags; |
| - uint64_t user_token; |
| + __u64 flags; |
| + __u64 user_token; |
| }; |
| |
| struct rds_rdma_notify { |
| - uint64_t user_token; |
| - int32_t status; |
| + __u64 user_token; |
| + __s32 status; |
| }; |
| |
| #define RDS_RDMA_SUCCESS 0 |