linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val
@ 2021-06-17 17:13 Kees Cook
  2021-06-17 18:16 ` Larry Finger
  2021-06-22 15:24 ` Kalle Valo
  0 siblings, 2 replies; 3+ messages in thread
From: Kees Cook @ 2021-06-17 17:13 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Kees Cook, Larry Finger, Ping-Ke Shih, David S. Miller,
	Jakub Kicinski, Kaixu Xia, linux-kernel, linux-wireless, netdev,
	linux-hardening

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally writing across neighboring array fields.

The size argument to memset() is bytes, but the array element size
of curvecount_val is u32, so "CV_CURVE_CNT * 2" was only 1/4th of the
contents of curvecount_val. Adjust memset() to wipe full buffer size.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
index 68ec009ea157..76dd881ef9bb 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
@@ -2574,7 +2574,7 @@ static void _rtl92d_phy_lc_calibrate_sw(struct ieee80211_hw *hw, bool is2t)
 			RTPRINT(rtlpriv, FINIT, INIT_IQK,
 				"path-B / 2.4G LCK\n");
 		}
-		memset(&curvecount_val[0], 0, CV_CURVE_CNT * 2);
+		memset(curvecount_val, 0, sizeof(curvecount_val));
 		/* Set LC calibration off */
 		rtl_set_rfreg(hw, (enum radio_path)index, RF_CHNLBW,
 			      0x08000, 0x0);
-- 
2.25.1


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

* Re: [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val
  2021-06-17 17:13 [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val Kees Cook
@ 2021-06-17 18:16 ` Larry Finger
  2021-06-22 15:24 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Larry Finger @ 2021-06-17 18:16 UTC (permalink / raw)
  To: Kees Cook, Kalle Valo
  Cc: Ping-Ke Shih, David S. Miller, Jakub Kicinski, Kaixu Xia,
	linux-kernel, linux-wireless, netdev, linux-hardening

On 6/17/21 12:13 PM, Kees Cook wrote:
> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> field bounds checking for memcpy(), memmove(), and memset(), avoid
> intentionally writing across neighboring array fields.
> 
> The size argument to memset() is bytes, but the array element size
> of curvecount_val is u32, so "CV_CURVE_CNT * 2" was only 1/4th of the
> contents of curvecount_val. Adjust memset() to wipe full buffer size.
> 
> Signed-off-by: Kees Cook <keescook@chromium.org>
> ---
>   drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> index 68ec009ea157..76dd881ef9bb 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c
> @@ -2574,7 +2574,7 @@ static void _rtl92d_phy_lc_calibrate_sw(struct ieee80211_hw *hw, bool is2t)
>   			RTPRINT(rtlpriv, FINIT, INIT_IQK,
>   				"path-B / 2.4G LCK\n");
>   		}
> -		memset(&curvecount_val[0], 0, CV_CURVE_CNT * 2);
> +		memset(curvecount_val, 0, sizeof(curvecount_val));
>   		/* Set LC calibration off */
>   		rtl_set_rfreg(hw, (enum radio_path)index, RF_CHNLBW,
>   			      0x08000, 0x0);
> 

Reviewed-by: Larry Finger <Larry.Finger@lwfinger.net>

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

* Re: [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val
  2021-06-17 17:13 [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val Kees Cook
  2021-06-17 18:16 ` Larry Finger
@ 2021-06-22 15:24 ` Kalle Valo
  1 sibling, 0 replies; 3+ messages in thread
From: Kalle Valo @ 2021-06-22 15:24 UTC (permalink / raw)
  To: Kees Cook
  Cc: Kees Cook, Larry Finger, Ping-Ke Shih, David S. Miller,
	Jakub Kicinski, Kaixu Xia, linux-kernel, linux-wireless, netdev,
	linux-hardening

Kees Cook <keescook@chromium.org> wrote:

> In preparation for FORTIFY_SOURCE performing compile-time and run-time
> field bounds checking for memcpy(), memmove(), and memset(), avoid
> intentionally writing across neighboring array fields.
> 
> The size argument to memset() is bytes, but the array element size
> of curvecount_val is u32, so "CV_CURVE_CNT * 2" was only 1/4th of the
> contents of curvecount_val. Adjust memset() to wipe full buffer size.
> 
> Signed-off-by: Kees Cook <keescook@chromium.org>
> Reviewed-by: Larry Finger <Larry.Finger@lwfinger.net>

Patch applied to wireless-drivers-next.git, thanks.

0d5e743db480 rtlwifi: rtl8192de: Fully initialize curvecount_val

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20210617171317.3410722-1-keescook@chromium.org/

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


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

end of thread, other threads:[~2021-06-22 15:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-17 17:13 [PATCH] rtlwifi: rtl8192de: Fully initialize curvecount_val Kees Cook
2021-06-17 18:16 ` Larry Finger
2021-06-22 15:24 ` Kalle Valo

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).