libertas_tf: Add missing __packed annotations
The earlier __packed annotations added in commitd71038c059
("libertas: Fix alignment issues in libertas core") were not duplicated when libertas_af was added in commit7670e62c7e
("libertas_tf: header file"), even though they share several structure definitions. Add the missing annotations which commit642a57475b
("libertas_tf: Use struct_group() for memcpy() region") exposed. Quoting the prior libertas fix: "Data structures that come over the wire from the WLAN firmware must be packed." Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/linux-mm/202111302102.apaePz2J-lkp@intel.com Fixes:642a57475b
("libertas_tf: Use struct_group() for memcpy() region") Fixes:7670e62c7e
("libertas_tf: header file") Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20211201173234.578124-3-keescook@chromium.org
This commit is contained in:
parent
978090ae88
commit
05db148ee9
|
@ -268,7 +268,7 @@ struct txpd {
|
||||||
__le32 tx_packet_location;
|
__le32 tx_packet_location;
|
||||||
/* Tx packet length */
|
/* Tx packet length */
|
||||||
__le16 tx_packet_length;
|
__le16 tx_packet_length;
|
||||||
struct_group(tx_dest_addr,
|
struct_group_attr(tx_dest_addr, __packed,
|
||||||
/* First 2 byte of destination MAC address */
|
/* First 2 byte of destination MAC address */
|
||||||
u8 tx_dest_addr_high[2];
|
u8 tx_dest_addr_high[2];
|
||||||
/* Last 4 byte of destination MAC address */
|
/* Last 4 byte of destination MAC address */
|
||||||
|
@ -282,7 +282,7 @@ struct txpd {
|
||||||
u8 pktdelay_2ms;
|
u8 pktdelay_2ms;
|
||||||
/* reserved */
|
/* reserved */
|
||||||
u8 reserved1;
|
u8 reserved1;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
/* RxPD Descriptor */
|
/* RxPD Descriptor */
|
||||||
struct rxpd {
|
struct rxpd {
|
||||||
|
@ -313,7 +313,7 @@ struct rxpd {
|
||||||
/* Pkt Priority */
|
/* Pkt Priority */
|
||||||
u8 priority;
|
u8 priority;
|
||||||
u8 reserved[3];
|
u8 reserved[3];
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_header {
|
struct cmd_header {
|
||||||
__le16 command;
|
__le16 command;
|
||||||
|
@ -379,14 +379,14 @@ struct cmd_ds_mac_control {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
__le16 action;
|
__le16 action;
|
||||||
u16 reserved;
|
u16 reserved;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_802_11_mac_address {
|
struct cmd_ds_802_11_mac_address {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 action;
|
__le16 action;
|
||||||
uint8_t macadd[ETH_ALEN];
|
uint8_t macadd[ETH_ALEN];
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_mac_multicast_addr {
|
struct cmd_ds_mac_multicast_addr {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
@ -394,27 +394,27 @@ struct cmd_ds_mac_multicast_addr {
|
||||||
__le16 action;
|
__le16 action;
|
||||||
__le16 nr_of_adrs;
|
__le16 nr_of_adrs;
|
||||||
u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
|
u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_set_mode {
|
struct cmd_ds_set_mode {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 mode;
|
__le16 mode;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_set_bssid {
|
struct cmd_ds_set_bssid {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
u8 bssid[6];
|
u8 bssid[6];
|
||||||
u8 activate;
|
u8 activate;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_802_11_radio_control {
|
struct cmd_ds_802_11_radio_control {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 action;
|
__le16 action;
|
||||||
__le16 control;
|
__le16 control;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
|
|
||||||
struct cmd_ds_802_11_rf_channel {
|
struct cmd_ds_802_11_rf_channel {
|
||||||
|
@ -425,20 +425,20 @@ struct cmd_ds_802_11_rf_channel {
|
||||||
__le16 rftype; /* unused */
|
__le16 rftype; /* unused */
|
||||||
__le16 reserved; /* unused */
|
__le16 reserved; /* unused */
|
||||||
u8 channellist[32]; /* unused */
|
u8 channellist[32]; /* unused */
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_set_boot2_ver {
|
struct cmd_ds_set_boot2_ver {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 action;
|
__le16 action;
|
||||||
__le16 version;
|
__le16 version;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_802_11_reset {
|
struct cmd_ds_802_11_reset {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 action;
|
__le16 action;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_802_11_beacon_control {
|
struct cmd_ds_802_11_beacon_control {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
@ -446,14 +446,14 @@ struct cmd_ds_802_11_beacon_control {
|
||||||
__le16 action;
|
__le16 action;
|
||||||
__le16 beacon_enable;
|
__le16 beacon_enable;
|
||||||
__le16 beacon_period;
|
__le16 beacon_period;
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ds_802_11_beacon_set {
|
struct cmd_ds_802_11_beacon_set {
|
||||||
struct cmd_header hdr;
|
struct cmd_header hdr;
|
||||||
|
|
||||||
__le16 len;
|
__le16 len;
|
||||||
u8 beacon[MRVL_MAX_BCN_SIZE];
|
u8 beacon[MRVL_MAX_BCN_SIZE];
|
||||||
};
|
} __packed;
|
||||||
|
|
||||||
struct cmd_ctrl_node;
|
struct cmd_ctrl_node;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue