Commit 05db148e authored by Kees Cook's avatar Kees Cook Committed by Kalle Valo

libertas_tf: Add missing __packed annotations

The earlier __packed annotations added in commit d71038c0 ("libertas:
Fix alignment issues in libertas core") were not duplicated when
libertas_af was added in commit 7670e62c ("libertas_tf: header file"),
even though they share several structure definitions. Add the missing
annotations which commit 642a5747 ("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: default avatarkernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/linux-mm/202111302102.apaePz2J-lkp@intel.com
Fixes: 642a5747 ("libertas_tf: Use struct_group() for memcpy() region")
Fixes: 7670e62c ("libertas_tf: header file")
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20211201173234.578124-3-keescook@chromium.org
parent 978090ae
...@@ -268,7 +268,7 @@ struct txpd { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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;
......
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