Commit 09cd2b99 authored by Changli Gao's avatar Changli Gao Committed by David S. Miller

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: default avatarChangli Gao <xiaosuo@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 48d3ff82
...@@ -119,7 +119,7 @@ struct ethhdr { ...@@ -119,7 +119,7 @@ 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 */
__be16 h_proto; /* packet type ID field */ __be16 h_proto; /* packet type ID field */
} __packed; } __attribute__((packed));
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/skbuff.h> #include <linux/skbuff.h>
......
...@@ -67,7 +67,7 @@ struct fddi_8022_1_hdr { ...@@ -67,7 +67,7 @@ struct fddi_8022_1_hdr {
__u8 dsap; /* destination service access point */ __u8 dsap; /* destination service access point */
__u8 ssap; /* source service access point */ __u8 ssap; /* source service access point */
__u8 ctrl; /* control byte #1 */ __u8 ctrl; /* control byte #1 */
} __packed; } __attribute__((packed));
/* Define 802.2 Type 2 header */ /* Define 802.2 Type 2 header */
struct fddi_8022_2_hdr { struct fddi_8022_2_hdr {
...@@ -75,7 +75,7 @@ struct fddi_8022_2_hdr { ...@@ -75,7 +75,7 @@ struct fddi_8022_2_hdr {
__u8 ssap; /* source service access point */ __u8 ssap; /* source service access point */
__u8 ctrl_1; /* control byte #1 */ __u8 ctrl_1; /* control byte #1 */
__u8 ctrl_2; /* control byte #2 */ __u8 ctrl_2; /* control byte #2 */
} __packed; } __attribute__((packed));
/* Define 802.2 SNAP header */ /* Define 802.2 SNAP header */
#define FDDI_K_OUI_LEN 3 #define FDDI_K_OUI_LEN 3
...@@ -85,7 +85,7 @@ struct fddi_snap_hdr { ...@@ -85,7 +85,7 @@ struct fddi_snap_hdr {
__u8 ctrl; /* always 0x03 */ __u8 ctrl; /* always 0x03 */
__u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */ __u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */
__be16 ethertype; /* packet type ID field */ __be16 ethertype; /* packet type ID field */
} __packed; } __attribute__((packed));
/* Define FDDI LLC frame header */ /* Define FDDI LLC frame header */
struct fddihdr { struct fddihdr {
...@@ -98,7 +98,7 @@ struct fddihdr { ...@@ -98,7 +98,7 @@ struct fddihdr {
struct fddi_8022_2_hdr llc_8022_2; struct fddi_8022_2_hdr llc_8022_2;
struct fddi_snap_hdr llc_snap; struct fddi_snap_hdr llc_snap;
} hdr; } hdr;
} __packed; } __attribute__((packed));
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/netdevice.h> #include <linux/netdevice.h>
......
...@@ -104,7 +104,7 @@ struct hippi_fp_hdr { ...@@ -104,7 +104,7 @@ struct hippi_fp_hdr {
__be32 fixed; __be32 fixed;
#endif #endif
__be32 d2_size; __be32 d2_size;
} __packed; } __attribute__((packed));
struct hippi_le_hdr { struct hippi_le_hdr {
#if defined (__BIG_ENDIAN_BITFIELD) #if defined (__BIG_ENDIAN_BITFIELD)
...@@ -129,7 +129,7 @@ struct hippi_le_hdr { ...@@ -129,7 +129,7 @@ struct hippi_le_hdr {
__u8 daddr[HIPPI_ALEN]; __u8 daddr[HIPPI_ALEN];
__u16 locally_administered; __u16 locally_administered;
__u8 saddr[HIPPI_ALEN]; __u8 saddr[HIPPI_ALEN];
} __packed; } __attribute__((packed));
#define HIPPI_OUI_LEN 3 #define HIPPI_OUI_LEN 3
/* /*
...@@ -142,12 +142,12 @@ struct hippi_snap_hdr { ...@@ -142,12 +142,12 @@ struct hippi_snap_hdr {
__u8 ctrl; /* always 0x03 */ __u8 ctrl; /* always 0x03 */
__u8 oui[HIPPI_OUI_LEN]; /* organizational universal id (zero)*/ __u8 oui[HIPPI_OUI_LEN]; /* organizational universal id (zero)*/
__be16 ethertype; /* packet type ID field */ __be16 ethertype; /* packet type ID field */
} __packed; } __attribute__((packed));
struct hippi_hdr { struct hippi_hdr {
struct hippi_fp_hdr fp; struct hippi_fp_hdr fp;
struct hippi_le_hdr le; struct hippi_le_hdr le;
struct hippi_snap_hdr snap; struct hippi_snap_hdr snap;
} __packed; } __attribute__((packed));
#endif /* _LINUX_IF_HIPPI_H */ #endif /* _LINUX_IF_HIPPI_H */
...@@ -59,7 +59,7 @@ struct sockaddr_pppox { ...@@ -59,7 +59,7 @@ struct sockaddr_pppox {
union{ union{
struct pppoe_addr pppoe; struct pppoe_addr pppoe;
}sa_addr; }sa_addr;
} __packed; } __attribute__((packed));
/* The use of the above union isn't viable because the size of this /* The use of the above union isn't viable because the size of this
* struct must stay fixed over time -- applications use sizeof(struct * struct must stay fixed over time -- applications use sizeof(struct
...@@ -70,7 +70,7 @@ struct sockaddr_pppol2tp { ...@@ -70,7 +70,7 @@ struct sockaddr_pppol2tp {
sa_family_t sa_family; /* address family, AF_PPPOX */ sa_family_t sa_family; /* address family, AF_PPPOX */
unsigned int sa_protocol; /* protocol identifier */ unsigned int sa_protocol; /* protocol identifier */
struct pppol2tp_addr pppol2tp; struct pppol2tp_addr pppol2tp;
} __packed; } __attribute__((packed));
/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
* bits. So we need a different sockaddr structure. * bits. So we need a different sockaddr structure.
...@@ -79,7 +79,7 @@ struct sockaddr_pppol2tpv3 { ...@@ -79,7 +79,7 @@ struct sockaddr_pppol2tpv3 {
sa_family_t sa_family; /* address family, AF_PPPOX */ sa_family_t sa_family; /* address family, AF_PPPOX */
unsigned int sa_protocol; /* protocol identifier */ unsigned int sa_protocol; /* protocol identifier */
struct pppol2tpv3_addr pppol2tp; struct pppol2tpv3_addr pppol2tp;
} __packed; } __attribute__((packed));
/********************************************************************* /*********************************************************************
* *
...@@ -101,7 +101,7 @@ struct pppoe_tag { ...@@ -101,7 +101,7 @@ struct pppoe_tag {
__be16 tag_type; __be16 tag_type;
__be16 tag_len; __be16 tag_len;
char tag_data[0]; char tag_data[0];
} __attribute ((packed)); } __attribute__ ((packed));
/* Tag identifiers */ /* Tag identifiers */
#define PTT_EOL __cpu_to_be16(0x0000) #define PTT_EOL __cpu_to_be16(0x0000)
...@@ -129,7 +129,7 @@ struct pppoe_hdr { ...@@ -129,7 +129,7 @@ struct pppoe_hdr {
__be16 sid; __be16 sid;
__be16 length; __be16 length;
struct pppoe_tag tag[0]; struct pppoe_tag tag[0];
} __packed; } __attribute__((packed));
/* Length of entire PPPoE + PPP header */ /* Length of entire PPPoE + PPP header */
#define PPPOE_SES_HLEN 8 #define PPPOE_SES_HLEN 8
......
...@@ -58,7 +58,7 @@ struct ipv6_opt_hdr { ...@@ -58,7 +58,7 @@ struct ipv6_opt_hdr {
/* /*
* TLV encoded option data follows. * 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_destopt_hdr ipv6_opt_hdr
#define ipv6_hopopt_hdr ipv6_opt_hdr #define ipv6_hopopt_hdr ipv6_opt_hdr
...@@ -99,7 +99,7 @@ struct ipv6_destopt_hao { ...@@ -99,7 +99,7 @@ struct ipv6_destopt_hao {
__u8 type; __u8 type;
__u8 length; __u8 length;
struct in6_addr addr; struct in6_addr addr;
} __packed; } __attribute__((packed));
/* /*
* IPv6 fixed header * IPv6 fixed header
......
...@@ -88,7 +88,7 @@ struct nbd_request { ...@@ -88,7 +88,7 @@ struct nbd_request {
char handle[8]; char handle[8];
__be64 from; __be64 from;
__be32 len; __be32 len;
} __packed; } __attribute__((packed));
/* /*
* This is the reply packet that nbd-server sends back to the client after * This is the reply packet that nbd-server sends back to the client after
......
...@@ -27,7 +27,7 @@ struct ncp_request_header { ...@@ -27,7 +27,7 @@ struct ncp_request_header {
__u8 conn_high; __u8 conn_high;
__u8 function; __u8 function;
__u8 data[0]; __u8 data[0];
} __packed; } __attribute__((packed));
#define NCP_REPLY (0x3333) #define NCP_REPLY (0x3333)
#define NCP_WATCHDOG (0x3E3E) #define NCP_WATCHDOG (0x3E3E)
...@@ -42,7 +42,7 @@ struct ncp_reply_header { ...@@ -42,7 +42,7 @@ struct ncp_reply_header {
__u8 completion_code; __u8 completion_code;
__u8 connection_state; __u8 connection_state;
__u8 data[0]; __u8 data[0];
} __packed; } __attribute__((packed));
#define NCP_VOLNAME_LEN (16) #define NCP_VOLNAME_LEN (16)
#define NCP_NUMBER_OF_VOLUMES (256) #define NCP_NUMBER_OF_VOLUMES (256)
...@@ -158,7 +158,7 @@ struct nw_info_struct { ...@@ -158,7 +158,7 @@ struct nw_info_struct {
#ifdef __KERNEL__ #ifdef __KERNEL__
struct nw_nfs_info nfs; struct nw_nfs_info nfs;
#endif #endif
} __packed; } __attribute__((packed));
/* modify mask - use with MODIFY_DOS_INFO structure */ /* modify mask - use with MODIFY_DOS_INFO structure */
#define DM_ATTRIBUTES (cpu_to_le32(0x02)) #define DM_ATTRIBUTES (cpu_to_le32(0x02))
...@@ -190,12 +190,12 @@ struct nw_modify_dos_info { ...@@ -190,12 +190,12 @@ struct nw_modify_dos_info {
__u16 inheritanceGrantMask; __u16 inheritanceGrantMask;
__u16 inheritanceRevokeMask; __u16 inheritanceRevokeMask;
__u32 maximumSpace; __u32 maximumSpace;
} __packed; } __attribute__((packed));
struct nw_search_sequence { struct nw_search_sequence {
__u8 volNumber; __u8 volNumber;
__u32 dirBase; __u32 dirBase;
__u32 sequence; __u32 sequence;
} __packed; } __attribute__((packed));
#endif /* _LINUX_NCP_H */ #endif /* _LINUX_NCP_H */
...@@ -39,7 +39,7 @@ struct idletimer_tg_info { ...@@ -39,7 +39,7 @@ struct idletimer_tg_info {
char label[MAX_IDLETIMER_LABEL_SIZE]; char label[MAX_IDLETIMER_LABEL_SIZE];
/* for kernel module internal use only */ /* for kernel module internal use only */
struct idletimer_tg *timer __attribute((aligned(8))); struct idletimer_tg *timer __attribute__((aligned(8)));
}; };
#endif #endif
...@@ -56,7 +56,7 @@ struct phonethdr { ...@@ -56,7 +56,7 @@ struct phonethdr {
__be16 pn_length; __be16 pn_length;
__u8 pn_robj; __u8 pn_robj;
__u8 pn_sobj; __u8 pn_sobj;
} __packed; } __attribute__((packed));
/* Common Phonet payload header */ /* Common Phonet payload header */
struct phonetmsg { struct phonetmsg {
...@@ -98,7 +98,7 @@ struct sockaddr_pn { ...@@ -98,7 +98,7 @@ struct sockaddr_pn {
__u8 spn_dev; __u8 spn_dev;
__u8 spn_resource; __u8 spn_resource;
__u8 spn_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - 3]; __u8 spn_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - 3];
} __packed; } __attribute__((packed));
/* Well known address */ /* Well known address */
#define PN_DEV_PC 0x10 #define PN_DEV_PC 0x10
......
...@@ -81,7 +81,7 @@ struct rfkill_event { ...@@ -81,7 +81,7 @@ struct rfkill_event {
__u8 type; __u8 type;
__u8 op; __u8 op;
__u8 soft, hard; __u8 soft, hard;
} __packed; } __attribute__((packed));
/* /*
* We are planning to be backward and forward compatible with changes * We are planning to be backward and forward compatible with changes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment