mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[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: Pavel Roskin <proski@gnu.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fb286bb299
commit
ac57d04267
1 changed files with 3 additions and 1 deletions
|
@ -21,6 +21,8 @@
|
||||||
#ifndef _LINUX_IF_ETHER_H
|
#ifndef _LINUX_IF_ETHER_H
|
||||||
#define _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
|
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
|
||||||
* and FCS/CRC (frame check sequence).
|
* and FCS/CRC (frame check sequence).
|
||||||
|
@ -100,7 +102,7 @@
|
||||||
struct ethhdr {
|
struct ethhdr {
|
||||||
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
||||||
unsigned char h_source[ETH_ALEN]; /* source ether 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));
|
} __attribute__((packed));
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue