linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] libertas: Add missing __packed annotations
@ 2021-12-01 17:32 Kees Cook
  2021-12-01 17:32 ` [PATCH 1/2] libertas: Add missing __packed annotation with struct_group() Kees Cook
  2021-12-01 17:32 ` [PATCH 2/2] libertas_tf: Add missing __packed annotations Kees Cook
  0 siblings, 2 replies; 4+ messages in thread
From: Kees Cook @ 2021-12-01 17:32 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Kees Cook, kernel test robot, David S. Miller, Jakub Kicinski,
	Wan Jiabing, John W. Linville, Luis Carlos Cobo, linux-kernel,
	libertas-dev, linux-wireless, netdev, linux-hardening

Hi,

This fixes the missing __packed annotations in libertas and libertas_af
noticed by lkp:
https://lore.kernel.org/linux-mm/202111302102.apaePz2J-lkp@intel.com

Thanks!

-Kees

Kees Cook (2):
  libertas: Add missing __packed annotation with struct_group()
  libertas_tf: Add missing __packed annotations

 drivers/net/wireless/marvell/libertas/host.h  |  2 +-
 .../marvell/libertas_tf/libertas_tf.h         | 28 +++++++++----------
 2 files changed, 15 insertions(+), 15 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] libertas: Add missing __packed annotation with struct_group()
  2021-12-01 17:32 [PATCH 0/2] libertas: Add missing __packed annotations Kees Cook
@ 2021-12-01 17:32 ` Kees Cook
  2021-12-08 18:40   ` Kalle Valo
  2021-12-01 17:32 ` [PATCH 2/2] libertas_tf: Add missing __packed annotations Kees Cook
  1 sibling, 1 reply; 4+ messages in thread
From: Kees Cook @ 2021-12-01 17:32 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Kees Cook, kernel test robot, David S. Miller, Jakub Kicinski,
	Wan Jiabing, John W. Linville, Luis Carlos Cobo, linux-kernel,
	libertas-dev, linux-wireless, netdev, linux-hardening

Build testing of the newly added struct_group() usage missed smaller
architecture width tests for changes to pahole output. Add the missed
__packed annotation with struct_group() usage in a __packed struct.

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/linux-mm/202111302102.apaePz2J-lkp@intel.com
Fixes: 5fd32ae0433a ("libertas: Use struct_group() for memcpy() region")
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/net/wireless/marvell/libertas/host.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/libertas/host.h b/drivers/net/wireless/marvell/libertas/host.h
index af96bdba3b2b..ceff4b92e7a1 100644
--- a/drivers/net/wireless/marvell/libertas/host.h
+++ b/drivers/net/wireless/marvell/libertas/host.h
@@ -308,7 +308,7 @@ struct txpd {
 	__le32 tx_packet_location;
 	/* 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 */
 		u8 tx_dest_addr_high[2];
 		/* Last 4 byte of destination MAC address */
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] libertas_tf: Add missing __packed annotations
  2021-12-01 17:32 [PATCH 0/2] libertas: Add missing __packed annotations Kees Cook
  2021-12-01 17:32 ` [PATCH 1/2] libertas: Add missing __packed annotation with struct_group() Kees Cook
@ 2021-12-01 17:32 ` Kees Cook
  1 sibling, 0 replies; 4+ messages in thread
From: Kees Cook @ 2021-12-01 17:32 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Kees Cook, kernel test robot, David S. Miller, Jakub Kicinski,
	Wan Jiabing, John W. Linville, Luis Carlos Cobo, linux-kernel,
	libertas-dev, linux-wireless, netdev, linux-hardening

The earlier __packed annotations added in commit d71038c05970 ("libertas:
Fix alignment issues in libertas core") were not duplicated when
libertas_af was added in commit 7670e62c7ed6 ("libertas_tf: header file"),
even though they share several structure definitions. Add the missing
annotations which commit 642a57475b30 ("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: 642a57475b30 ("libertas_tf: Use struct_group() for memcpy() region")
Fixes: 7670e62c7ed6 ("libertas_tf: header file")
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 .../marvell/libertas_tf/libertas_tf.h         | 28 +++++++++----------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/drivers/net/wireless/marvell/libertas_tf/libertas_tf.h b/drivers/net/wireless/marvell/libertas_tf/libertas_tf.h
index b2af2ddb6bc4..631b5da09f86 100644
--- a/drivers/net/wireless/marvell/libertas_tf/libertas_tf.h
+++ b/drivers/net/wireless/marvell/libertas_tf/libertas_tf.h
@@ -268,7 +268,7 @@ struct txpd {
 	__le32 tx_packet_location;
 	/* 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 */
 		u8 tx_dest_addr_high[2];
 		/* Last 4 byte of destination MAC address */
@@ -282,7 +282,7 @@ struct txpd {
 	u8 pktdelay_2ms;
 	/* reserved */
 	u8 reserved1;
-};
+} __packed;
 
 /* RxPD Descriptor */
 struct rxpd {
@@ -313,7 +313,7 @@ struct rxpd {
 	/* Pkt Priority */
 	u8 priority;
 	u8 reserved[3];
-};
+} __packed;
 
 struct cmd_header {
 	__le16 command;
@@ -379,14 +379,14 @@ struct cmd_ds_mac_control {
 	struct cmd_header hdr;
 	__le16 action;
 	u16 reserved;
-};
+} __packed;
 
 struct cmd_ds_802_11_mac_address {
 	struct cmd_header hdr;
 
 	__le16 action;
 	uint8_t macadd[ETH_ALEN];
-};
+} __packed;
 
 struct cmd_ds_mac_multicast_addr {
 	struct cmd_header hdr;
@@ -394,27 +394,27 @@ struct cmd_ds_mac_multicast_addr {
 	__le16 action;
 	__le16 nr_of_adrs;
 	u8 maclist[ETH_ALEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
-};
+} __packed;
 
 struct cmd_ds_set_mode {
 	struct cmd_header hdr;
 
 	__le16 mode;
-};
+} __packed;
 
 struct cmd_ds_set_bssid {
 	struct cmd_header hdr;
 
 	u8 bssid[6];
 	u8 activate;
-};
+} __packed;
 
 struct cmd_ds_802_11_radio_control {
 	struct cmd_header hdr;
 
 	__le16 action;
 	__le16 control;
-};
+} __packed;
 
 
 struct cmd_ds_802_11_rf_channel {
@@ -425,20 +425,20 @@ struct cmd_ds_802_11_rf_channel {
 	__le16 rftype;      /* unused */
 	__le16 reserved;    /* unused */
 	u8 channellist[32]; /* unused */
-};
+} __packed;
 
 struct cmd_ds_set_boot2_ver {
 	struct cmd_header hdr;
 
 	__le16 action;
 	__le16 version;
-};
+} __packed;
 
 struct cmd_ds_802_11_reset {
 	struct cmd_header hdr;
 
 	__le16 action;
-};
+} __packed;
 
 struct cmd_ds_802_11_beacon_control {
 	struct cmd_header hdr;
@@ -446,14 +446,14 @@ struct cmd_ds_802_11_beacon_control {
 	__le16 action;
 	__le16 beacon_enable;
 	__le16 beacon_period;
-};
+} __packed;
 
 struct cmd_ds_802_11_beacon_set {
 	struct cmd_header hdr;
 
 	__le16 len;
 	u8 beacon[MRVL_MAX_BCN_SIZE];
-};
+} __packed;
 
 struct cmd_ctrl_node;
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] libertas: Add missing __packed annotation with struct_group()
  2021-12-01 17:32 ` [PATCH 1/2] libertas: Add missing __packed annotation with struct_group() Kees Cook
@ 2021-12-08 18:40   ` Kalle Valo
  0 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2021-12-08 18:40 UTC (permalink / raw)
  To: Kees Cook
  Cc: Kalle Valo, Kees Cook, kernel test robot, David S. Miller,
	Jakub Kicinski, Wan Jiabing, John W. Linville, Luis Carlos Cobo,
	linux-kernel, libertas-dev, linux-wireless, netdev,
	linux-hardening

Kees Cook <keescook@chromium.org> wrote:

> Build testing of the newly added struct_group() usage missed smaller
> architecture width tests for changes to pahole output. Add the missed
> __packed annotation with struct_group() usage in a __packed struct.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Link: https://lore.kernel.org/linux-mm/202111302102.apaePz2J-lkp@intel.com
> Fixes: 5fd32ae0433a ("libertas: Use struct_group() for memcpy() region")
> Signed-off-by: Kees Cook <keescook@chromium.org>

2 patches applied to wireless-drivers-next.git, thanks.

978090ae8856 libertas: Add missing __packed annotation with struct_group()
05db148ee9a7 libertas_tf: Add missing __packed annotations

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20211201173234.578124-2-keescook@chromium.org/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-08 18:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-01 17:32 [PATCH 0/2] libertas: Add missing __packed annotations Kees Cook
2021-12-01 17:32 ` [PATCH 1/2] libertas: Add missing __packed annotation with struct_group() Kees Cook
2021-12-08 18:40   ` Kalle Valo
2021-12-01 17:32 ` [PATCH 2/2] libertas_tf: Add missing __packed annotations Kees Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).