Skip to content

Commit

Permalink
header: fix broken headers for user space
Browse files Browse the repository at this point in the history
__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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
xiaosuo authored and davem330 committed Aug 23, 2010
1 parent 48d3ff8 commit 09cd2b9
Show file tree
Hide file tree
Showing 10 changed files with 26 additions and 26 deletions.
2 changes: 1 addition & 1 deletion include/linux/if_ether.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
8 changes: 4 additions & 4 deletions include/linux/if_fddi.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,15 @@ 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 {
__u8 dsap; /* destination service access point */
__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
Expand All @@ -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 {
Expand All @@ -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>
Expand Down
8 changes: 4 additions & 4 deletions include/linux/if_hippi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
/*
Expand All @@ -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 */
10 changes: 5 additions & 5 deletions include/linux/if_pppox.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand All @@ -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));

/*********************************************************************
*
Expand All @@ -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)
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions include/linux/ipv6.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -99,7 +99,7 @@ struct ipv6_destopt_hao {
__u8 type;
__u8 length;
struct in6_addr addr;
} __packed;
} __attribute__((packed));

/*
* IPv6 fixed header
Expand Down
2 changes: 1 addition & 1 deletion include/linux/nbd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions include/linux/ncp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -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))
Expand Down Expand Up @@ -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 */
2 changes: 1 addition & 1 deletion include/linux/netfilter/xt_IDLETIMER.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions include/linux/phonet.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ struct phonethdr {
__be16 pn_length;
__u8 pn_robj;
__u8 pn_sobj;
} __packed;
} __attribute__((packed));

/* Common Phonet payload header */
struct phonetmsg {
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion include/linux/rfkill.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 09cd2b9

Please sign in to comment.