pptp: fix byte order warnings
authorstephen hemminger <stephen@networkplumber.org>
Sat, 10 Aug 2013 22:22:58 +0000 (15:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Aug 2013 22:10:22 +0000 (15:10 -0700)
Pptp driver has lots of byte order warnings from sparse.
This was because the on-the-wire header is in network byte order (obviously)
but the definition did not reflect that.

Also, the address structure to user space actually put the call id
in host order. Rather than break ABI compatibility, just acknowledge
the existing design.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ppp/pptp.c
include/uapi/linux/if_pppox.h

index 9785a3ac02b3c4057887b047c1e4c708c6e9fdfe..6fa5ae00039fd65b2c634d0d22241d9c7a9d13e2 100644 (file)
@@ -83,11 +83,11 @@ static const struct proto_ops pptp_ops;
 struct pptp_gre_header {
        u8  flags;
        u8  ver;
-       u16 protocol;
-       u16 payload_len;
-       u16 call_id;
-       u32 seq;
-       u32 ack;
+       __be16 protocol;
+       __be16 payload_len;
+       __be16 call_id;
+       __be32 seq;
+       __be32 ack;
 } __packed;
 
 static struct pppox_sock *lookup_chan(u16 call_id, __be32 s_addr)
index e36a4aecd3117ebdaf46c17ac115e5d0a29bcede..e128769331b5a7c6be4a10cf44c262be68a65772 100644 (file)
@@ -46,7 +46,7 @@ struct pppoe_addr {
  * PPTP addressing definition
  */
 struct pptp_addr {
-       __be16          call_id;
+       __u16           call_id;
        struct in_addr  sin_addr;
 };