Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[BLUETOOTH] l2cap: endianness annotations

no code changes, just documenting existing types

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Al Viro and committed by
David S. Miller
8e036fc3 6dc0c208

+39 -38
+25 -25
include/net/bluetooth/l2cap.h
··· 34 34 /* L2CAP socket address */ 35 35 struct sockaddr_l2 { 36 36 sa_family_t l2_family; 37 - unsigned short l2_psm; 37 + __le16 l2_psm; 38 38 bdaddr_t l2_bdaddr; 39 39 }; 40 40 ··· 76 76 77 77 /* L2CAP structures */ 78 78 struct l2cap_hdr { 79 - __u16 len; 80 - __u16 cid; 79 + __le16 len; 80 + __le16 cid; 81 81 } __attribute__ ((packed)); 82 82 #define L2CAP_HDR_SIZE 4 83 83 84 84 struct l2cap_cmd_hdr { 85 85 __u8 code; 86 86 __u8 ident; 87 - __u16 len; 87 + __le16 len; 88 88 } __attribute__ ((packed)); 89 89 #define L2CAP_CMD_HDR_SIZE 4 90 90 91 91 struct l2cap_cmd_rej { 92 - __u16 reason; 92 + __le16 reason; 93 93 } __attribute__ ((packed)); 94 94 95 95 struct l2cap_conn_req { 96 - __u16 psm; 97 - __u16 scid; 96 + __le16 psm; 97 + __le16 scid; 98 98 } __attribute__ ((packed)); 99 99 100 100 struct l2cap_conn_rsp { 101 - __u16 dcid; 102 - __u16 scid; 103 - __u16 result; 104 - __u16 status; 101 + __le16 dcid; 102 + __le16 scid; 103 + __le16 result; 104 + __le16 status; 105 105 } __attribute__ ((packed)); 106 106 107 107 /* connect result */ ··· 117 117 #define L2CAP_CS_AUTHOR_PEND 0x0002 118 118 119 119 struct l2cap_conf_req { 120 - __u16 dcid; 121 - __u16 flags; 120 + __le16 dcid; 121 + __le16 flags; 122 122 __u8 data[0]; 123 123 } __attribute__ ((packed)); 124 124 125 125 struct l2cap_conf_rsp { 126 - __u16 scid; 127 - __u16 flags; 128 - __u16 result; 126 + __le16 scid; 127 + __le16 flags; 128 + __le16 result; 129 129 __u8 data[0]; 130 130 } __attribute__ ((packed)); 131 131 ··· 149 149 #define L2CAP_CONF_MAX_SIZE 22 150 150 151 151 struct l2cap_disconn_req { 152 - __u16 dcid; 153 - __u16 scid; 152 + __le16 dcid; 153 + __le16 scid; 154 154 } __attribute__ ((packed)); 155 155 156 156 struct l2cap_disconn_rsp { 157 - __u16 dcid; 158 - __u16 scid; 157 + __le16 dcid; 158 + __le16 scid; 159 159 } __attribute__ ((packed)); 160 160 161 161 struct l2cap_info_req { 162 - __u16 type; 162 + __le16 type; 163 163 __u8 data[0]; 164 164 } __attribute__ ((packed)); 165 165 166 166 struct l2cap_info_rsp { 167 - __u16 type; 168 - __u16 result; 167 + __le16 type; 168 + __le16 result; 169 169 __u8 data[0]; 170 170 } __attribute__ ((packed)); 171 171 ··· 207 207 208 208 struct l2cap_pinfo { 209 209 struct bt_sock bt; 210 - __u16 psm; 210 + __le16 psm; 211 211 __u16 dcid; 212 212 __u16 scid; 213 213 ··· 225 225 226 226 __u8 ident; 227 227 228 - __u16 sport; 228 + __le16 sport; 229 229 230 230 struct l2cap_conn *conn; 231 231 struct sock *next_c;
+14 -13
net/bluetooth/l2cap.c
··· 353 353 } 354 354 355 355 /* ---- Socket interface ---- */ 356 - static struct sock *__l2cap_get_sock_by_addr(u16 psm, bdaddr_t *src) 356 + static struct sock *__l2cap_get_sock_by_addr(__le16 psm, bdaddr_t *src) 357 357 { 358 358 struct sock *sk; 359 359 struct hlist_node *node; ··· 368 368 /* Find socket with psm and source bdaddr. 369 369 * Returns closest match. 370 370 */ 371 - static struct sock *__l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) 371 + static struct sock *__l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) 372 372 { 373 373 struct sock *sk = NULL, *sk1 = NULL; 374 374 struct hlist_node *node; ··· 392 392 393 393 /* Find socket with given address (psm, src). 394 394 * Returns locked socket */ 395 - static inline struct sock *l2cap_get_sock_by_psm(int state, u16 psm, bdaddr_t *src) 395 + static inline struct sock *l2cap_get_sock_by_psm(int state, __le16 psm, bdaddr_t *src) 396 396 { 397 397 struct sock *s; 398 398 read_lock(&l2cap_sk_list.lock); ··· 586 586 goto done; 587 587 } 588 588 589 - if (la->l2_psm > 0 && btohs(la->l2_psm) < 0x1001 && 589 + if (la->l2_psm && btohs(la->l2_psm) < 0x1001 && 590 590 !capable(CAP_NET_BIND_SERVICE)) { 591 591 err = -EACCES; 592 592 goto done; ··· 873 873 lh->len = cpu_to_le16(len + (hlen - L2CAP_HDR_SIZE)); 874 874 875 875 if (sk->sk_type == SOCK_DGRAM) 876 - put_unaligned(l2cap_pi(sk)->psm, (u16 *) skb_put(skb, 2)); 876 + put_unaligned(l2cap_pi(sk)->psm, (__le16 *) skb_put(skb, 2)); 877 877 878 878 if (memcpy_fromiovec(skb_put(skb, count), msg->msg_iov, count)) { 879 879 err = -EFAULT; ··· 1256 1256 break; 1257 1257 1258 1258 case 2: 1259 - *val = __le16_to_cpu(*((u16 *)opt->val)); 1259 + *val = __le16_to_cpu(*((__le16 *)opt->val)); 1260 1260 break; 1261 1261 1262 1262 case 4: 1263 - *val = __le32_to_cpu(*((u32 *)opt->val)); 1263 + *val = __le32_to_cpu(*((__le32 *)opt->val)); 1264 1264 break; 1265 1265 1266 1266 default: ··· 1287 1287 break; 1288 1288 1289 1289 case 2: 1290 - *((u16 *) opt->val) = cpu_to_le16(val); 1290 + *((__le16 *) opt->val) = cpu_to_le16(val); 1291 1291 break; 1292 1292 1293 1293 case 4: 1294 - *((u32 *) opt->val) = cpu_to_le32(val); 1294 + *((__le32 *) opt->val) = cpu_to_le32(val); 1295 1295 break; 1296 1296 1297 1297 default: ··· 1406 1406 int result = 0, status = 0; 1407 1407 1408 1408 u16 dcid = 0, scid = __le16_to_cpu(req->scid); 1409 - u16 psm = req->psm; 1409 + __le16 psm = req->psm; 1410 1410 1411 1411 BT_DBG("psm 0x%2.2x scid 0x%4.4x", psm, scid); 1412 1412 ··· 1863 1863 return 0; 1864 1864 } 1865 1865 1866 - static inline int l2cap_conless_channel(struct l2cap_conn *conn, u16 psm, struct sk_buff *skb) 1866 + static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb) 1867 1867 { 1868 1868 struct sock *sk; 1869 1869 ··· 1893 1893 static void l2cap_recv_frame(struct l2cap_conn *conn, struct sk_buff *skb) 1894 1894 { 1895 1895 struct l2cap_hdr *lh = (void *) skb->data; 1896 - u16 cid, psm, len; 1896 + u16 cid, len; 1897 + __le16 psm; 1897 1898 1898 1899 skb_pull(skb, L2CAP_HDR_SIZE); 1899 1900 cid = __le16_to_cpu(lh->cid); ··· 1908 1907 break; 1909 1908 1910 1909 case 0x0002: 1911 - psm = get_unaligned((u16 *) skb->data); 1910 + psm = get_unaligned((__le16 *) skb->data); 1912 1911 skb_pull(skb, 2); 1913 1912 l2cap_conless_channel(conn, psm, skb); 1914 1913 break;