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 9785a3a..6fa5ae0 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 e36a4ae..e128769 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;
 };