diff mbox

[net-next] pptp: fix byte order warnings

Message ID 20130810152258.1cef6d89@nehalam.linuxnetplumber.net
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Stephen Hemminger Aug. 10, 2013, 10:22 p.m. UTC
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>


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller Aug. 13, 2013, 10:11 p.m. UTC | #1
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Sat, 10 Aug 2013 15:22:58 -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>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

--- a/drivers/net/ppp/pptp.c	2013-08-10 10:36:10.365515260 -0700
+++ b/drivers/net/ppp/pptp.c	2013-08-10 15:17:38.514965016 -0700
@@ -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)
--- a/include/uapi/linux/if_pppox.h	2013-08-10 10:36:11.477500663 -0700
+++ b/include/uapi/linux/if_pppox.h	2013-08-10 15:10:40.093460682 -0700
@@ -46,7 +46,7 @@  struct pppoe_addr {
  * PPTP addressing definition
  */
 struct pptp_addr {
-	__be16		call_id;
+	__u16		call_id;
 	struct in_addr	sin_addr;
 };