Skip to contentSkip to conversation

pptp: fix byte order warnings

PATCH Applied Stephen Hemminger 2 participants 2 messages Aug 10, 2013 – Aug 13, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 pptp: fix byte order warnings

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.

drivers/net/ppp/pptp.c +5 -5
@@ -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)
include/uapi/linux/if_pppox.h +1 -1
@@ -46,7 +46,7 @@ struct pppoe_addr {
  * PPTP addressing definition
  */
 struct pptp_addr {
-	__be16		call_id;
+	__u16		call_id;
 	struct in_addr	sin_addr;
 };
 
maintainer Applied
#1 lore raw

From: Stephen Hemminger <[email protected]>
Date: Sat, 10 Aug 2013 15:22:58 -0700

Quoted 9 lines

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.

Applied, thanks.