From 61618eeac3e6165684895481c4f58ea879c3d616 Mon Sep 17 00:00:00 2001 From: Jiri Benc Date: Mon, 11 Apr 2016 17:06:08 +0200 Subject: [PATCH] vxlan: fix incorrect type The protocol is 16bit, not 32bit. Fixes: e1e5314de08ba ("vxlan: implement GPE") Reported-by: Dan Carpenter Signed-off-by: Jiri Benc Signed-off-by: David S. Miller --- drivers/net/vxlan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 9f3634064c92..7f697a3f00a4 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1181,7 +1181,7 @@ out: } static bool vxlan_parse_gpe_hdr(struct vxlanhdr *unparsed, - __be32 *protocol, + __be16 *protocol, struct sk_buff *skb, u32 vxflags) { struct vxlanhdr_gpe *gpe = (struct vxlanhdr_gpe *)unparsed; @@ -1284,7 +1284,7 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb) struct vxlanhdr unparsed; struct vxlan_metadata _md; struct vxlan_metadata *md = &_md; - __be32 protocol = htons(ETH_P_TEB); + __be16 protocol = htons(ETH_P_TEB); bool raw_proto = false; void *oiph;