lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20ca7de6-f99e-1c61-4157-c7ab32e85406@lwfinger.net>
Date:   Mon, 11 Dec 2017 11:34:59 -0600
From:   Larry Finger <Larry.Finger@...inger.net>
To:     Nicolas Iooss <nicolas.iooss_linux@....org>,
        Chaoming Li <chaoming_li@...lsil.com.cn>,
        Kalle Valo <kvalo@...eaurora.org>,
        linux-wireless@...r.kernel.org
Cc:     netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] rtlwifi: always initialize variables given to
 RT_TRACE()

On 12/10/2017 01:51 PM, Nicolas Iooss wrote:
> In rtl_rx_ampdu_apply(), when rtlpriv->cfg->ops->get_btc_status()
> returns false, RT_TRACE() is called with the values of variables
> reject_agg and agg_size, which have not been initialized.
> 
> Always initialize these variables in order to prevent using
> uninitialized values.
> 
> This issue has been found with clang. The compiler reported:
> 
>      drivers/net/wireless/realtek/rtlwifi/base.c:1665:6: error: variable
>      'agg_size' is used uninitialized whenever 'if' condition is false
>      [-Werror,-Wsometimes-uninitialized]
>              if (rtlpriv->cfg->ops->get_btc_status())
>                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>      drivers/net/wireless/realtek/rtlwifi/base.c:1671:31: note:
>      uninitialized use occurs here
>                       reject_agg, ctrl_agg_size, agg_size);
>                                                  ^~~~~~~~
> 
>      drivers/net/wireless/realtek/rtlwifi/base.c:1665:6: error: variable
>      'reject_agg' is used uninitialized whenever 'if' condition
>            is false [-Werror,-Wsometimes-uninitialized]
>              if (rtlpriv->cfg->ops->get_btc_status())
>                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>      drivers/net/wireless/realtek/rtlwifi/base.c:1671:4: note:
>      uninitialized use occurs here
>                       reject_agg, ctrl_agg_size, agg_size);
>                       ^~~~~~~~~~
> 
> Fixes: 2635664e6e4a ("rtlwifi: Add rx ampdu cfg for btcoexist.")
> Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@....org>

Looks good. Acked-by: Larry Finger <Larry.Finger@...inger.net>

Thanks,

Larry

> ---
>   drivers/net/wireless/realtek/rtlwifi/base.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c
> index cad2272ae21b..704741d6f495 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/base.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/base.c
> @@ -1726,7 +1726,7 @@ int rtl_tx_agg_oper(struct ieee80211_hw *hw,
>   void rtl_rx_ampdu_apply(struct rtl_priv *rtlpriv)
>   {
>   	struct rtl_btc_ops *btc_ops = rtlpriv->btcoexist.btc_ops;
> -	u8 reject_agg, ctrl_agg_size = 0, agg_size;
> +	u8 reject_agg = 0, ctrl_agg_size = 0, agg_size = 0;
>   
>   	if (rtlpriv->cfg->ops->get_btc_status())
>   		btc_ops->btc_get_ampdu_cfg(rtlpriv, &reject_agg,
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ