mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 13:34:10 +08:00
header: fix broken headers for user space
__packed is only defined in kernel space, so we should use __attribute__((packed)) for the code shared between kernel and user space. Two __attribute() annotations are replaced with __attribute__() too. Signed-off-by: Changli Gao <xiaosuo@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
48d3ff8269
commit
09cd2b99c6
@ -119,7 +119,7 @@ struct ethhdr {
|
||||
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
||||
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
||||
__be16 h_proto; /* packet type ID field */
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/skbuff.h>
|
||||
|
@ -67,7 +67,7 @@ struct fddi_8022_1_hdr {
|
||||
__u8 dsap; /* destination service access point */
|
||||
__u8 ssap; /* source service access point */
|
||||
__u8 ctrl; /* control byte #1 */
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Define 802.2 Type 2 header */
|
||||
struct fddi_8022_2_hdr {
|
||||
@ -75,7 +75,7 @@ struct fddi_8022_2_hdr {
|
||||
__u8 ssap; /* source service access point */
|
||||
__u8 ctrl_1; /* control byte #1 */
|
||||
__u8 ctrl_2; /* control byte #2 */
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Define 802.2 SNAP header */
|
||||
#define FDDI_K_OUI_LEN 3
|
||||
@ -85,7 +85,7 @@ struct fddi_snap_hdr {
|
||||
__u8 ctrl; /* always 0x03 */
|
||||
__u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */
|
||||
__be16 ethertype; /* packet type ID field */
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Define FDDI LLC frame header */
|
||||
struct fddihdr {
|
||||
@ -98,7 +98,7 @@ struct fddihdr {
|
||||
struct fddi_8022_2_hdr llc_8022_2;
|
||||
struct fddi_snap_hdr llc_snap;
|
||||
} hdr;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/netdevice.h>
|
||||
|
@ -104,7 +104,7 @@ struct hippi_fp_hdr {
|
||||
__be32 fixed;
|
||||
#endif
|
||||
__be32 d2_size;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct hippi_le_hdr {
|
||||
#if defined (__BIG_ENDIAN_BITFIELD)
|
||||
@ -129,7 +129,7 @@ struct hippi_le_hdr {
|
||||
__u8 daddr[HIPPI_ALEN];
|
||||
__u16 locally_administered;
|
||||
__u8 saddr[HIPPI_ALEN];
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define HIPPI_OUI_LEN 3
|
||||
/*
|
||||
@ -142,12 +142,12 @@ struct hippi_snap_hdr {
|
||||
__u8 ctrl; /* always 0x03 */
|
||||
__u8 oui[HIPPI_OUI_LEN]; /* organizational universal id (zero)*/
|
||||
__be16 ethertype; /* packet type ID field */
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct hippi_hdr {
|
||||
struct hippi_fp_hdr fp;
|
||||
struct hippi_le_hdr le;
|
||||
struct hippi_snap_hdr snap;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* _LINUX_IF_HIPPI_H */
|
||||
|
@ -59,7 +59,7 @@ struct sockaddr_pppox {
|
||||
union{
|
||||
struct pppoe_addr pppoe;
|
||||
}sa_addr;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* The use of the above union isn't viable because the size of this
|
||||
* struct must stay fixed over time -- applications use sizeof(struct
|
||||
@ -70,7 +70,7 @@ struct sockaddr_pppol2tp {
|
||||
sa_family_t sa_family; /* address family, AF_PPPOX */
|
||||
unsigned int sa_protocol; /* protocol identifier */
|
||||
struct pppol2tp_addr pppol2tp;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
|
||||
* bits. So we need a different sockaddr structure.
|
||||
@ -79,7 +79,7 @@ struct sockaddr_pppol2tpv3 {
|
||||
sa_family_t sa_family; /* address family, AF_PPPOX */
|
||||
unsigned int sa_protocol; /* protocol identifier */
|
||||
struct pppol2tpv3_addr pppol2tp;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*********************************************************************
|
||||
*
|
||||
@ -101,7 +101,7 @@ struct pppoe_tag {
|
||||
__be16 tag_type;
|
||||
__be16 tag_len;
|
||||
char tag_data[0];
|
||||
} __attribute ((packed));
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/* Tag identifiers */
|
||||
#define PTT_EOL __cpu_to_be16(0x0000)
|
||||
@ -129,7 +129,7 @@ struct pppoe_hdr {
|
||||
__be16 sid;
|
||||
__be16 length;
|
||||
struct pppoe_tag tag[0];
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Length of entire PPPoE + PPP header */
|
||||
#define PPPOE_SES_HLEN 8
|
||||
|
@ -58,7 +58,7 @@ struct ipv6_opt_hdr {
|
||||
/*
|
||||
* TLV encoded option data follows.
|
||||
*/
|
||||
} __packed; /* required for some archs */
|
||||
} __attribute__((packed)); /* required for some archs */
|
||||
|
||||
#define ipv6_destopt_hdr ipv6_opt_hdr
|
||||
#define ipv6_hopopt_hdr ipv6_opt_hdr
|
||||
@ -99,7 +99,7 @@ struct ipv6_destopt_hao {
|
||||
__u8 type;
|
||||
__u8 length;
|
||||
struct in6_addr addr;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* IPv6 fixed header
|
||||
|
@ -88,7 +88,7 @@ struct nbd_request {
|
||||
char handle[8];
|
||||
__be64 from;
|
||||
__be32 len;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* This is the reply packet that nbd-server sends back to the client after
|
||||
|
@ -27,7 +27,7 @@ struct ncp_request_header {
|
||||
__u8 conn_high;
|
||||
__u8 function;
|
||||
__u8 data[0];
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define NCP_REPLY (0x3333)
|
||||
#define NCP_WATCHDOG (0x3E3E)
|
||||
@ -42,7 +42,7 @@ struct ncp_reply_header {
|
||||
__u8 completion_code;
|
||||
__u8 connection_state;
|
||||
__u8 data[0];
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define NCP_VOLNAME_LEN (16)
|
||||
#define NCP_NUMBER_OF_VOLUMES (256)
|
||||
@ -158,7 +158,7 @@ struct nw_info_struct {
|
||||
#ifdef __KERNEL__
|
||||
struct nw_nfs_info nfs;
|
||||
#endif
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* modify mask - use with MODIFY_DOS_INFO structure */
|
||||
#define DM_ATTRIBUTES (cpu_to_le32(0x02))
|
||||
@ -190,12 +190,12 @@ struct nw_modify_dos_info {
|
||||
__u16 inheritanceGrantMask;
|
||||
__u16 inheritanceRevokeMask;
|
||||
__u32 maximumSpace;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
struct nw_search_sequence {
|
||||
__u8 volNumber;
|
||||
__u32 dirBase;
|
||||
__u32 sequence;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
#endif /* _LINUX_NCP_H */
|
||||
|
@ -39,7 +39,7 @@ struct idletimer_tg_info {
|
||||
char label[MAX_IDLETIMER_LABEL_SIZE];
|
||||
|
||||
/* for kernel module internal use only */
|
||||
struct idletimer_tg *timer __attribute((aligned(8)));
|
||||
struct idletimer_tg *timer __attribute__((aligned(8)));
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -56,7 +56,7 @@ struct phonethdr {
|
||||
__be16 pn_length;
|
||||
__u8 pn_robj;
|
||||
__u8 pn_sobj;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Common Phonet payload header */
|
||||
struct phonetmsg {
|
||||
@ -98,7 +98,7 @@ struct sockaddr_pn {
|
||||
__u8 spn_dev;
|
||||
__u8 spn_resource;
|
||||
__u8 spn_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - 3];
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/* Well known address */
|
||||
#define PN_DEV_PC 0x10
|
||||
|
@ -81,7 +81,7 @@ struct rfkill_event {
|
||||
__u8 type;
|
||||
__u8 op;
|
||||
__u8 soft, hard;
|
||||
} __packed;
|
||||
} __attribute__((packed));
|
||||
|
||||
/*
|
||||
* We are planning to be backward and forward compatible with changes
|
||||
|
Loading…
Reference in New Issue
Block a user