Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac57d042 authored by Pavel Roskin's avatar Pavel Roskin Committed by David S. Miller
Browse files

[NET]: Annotate h_proto in struct ethhdr



The protocol field in ethernet headers is big-endian and should be
annotated as such.  This patch allows detection of missing ntohs() calls
on the ethernet protocol field when sparse is run with __CHECK_ENDIAN__
defined.

This is a revised version that includes <linux/types.h> so that the
userspace programs are not confused by __be16.  Thanks to David S.
Miller.

Signed-off-by: default avatarPavel Roskin <proski@gnu.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fb286bb2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@
#ifndef _LINUX_IF_ETHER_H
#define _LINUX_IF_ETHER_H

#include <linux/types.h>

/*
 *	IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
 *	and FCS/CRC (frame check sequence). 
@@ -100,7 +102,7 @@
struct ethhdr {
	unsigned char	h_dest[ETH_ALEN];	/* destination eth addr	*/
	unsigned char	h_source[ETH_ALEN];	/* source ether addr	*/
	unsigned short	h_proto;		/* packet type ID field	*/
	__be16		h_proto;		/* packet type ID field	*/
} __attribute__((packed));

#ifdef __KERNEL__