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] [day] [month] [year] [list]
Message-ID: <463219aca5acb30ac0f383b00639ea3ee0ae408c.camel@mediatek.com>
Date: Wed, 19 Feb 2025 02:15:10 +0000
From: Mingyen Hsieh (謝明諺)
	<Mingyen.Hsieh@...iatek.com>
To: "dan.carpenter@...aro.org" <dan.carpenter@...aro.org>
CC: "kernel-janitors@...r.kernel.org" <kernel-janitors@...r.kernel.org>,
	Shayne Chen (陳軒丞) <Shayne.Chen@...iatek.com>,
	"lorenzo@...nel.org" <lorenzo@...nel.org>, Ryder Lee
	<Ryder.Lee@...iatek.com>, AngeloGioacchino Del Regno
	<angelogioacchino.delregno@...labora.com>, "nbd@....name" <nbd@....name>,
	"kvalo@...nel.org" <kvalo@...nel.org>, "linux-wireless@...r.kernel.org"
	<linux-wireless@...r.kernel.org>, Sean Wang <Sean.Wang@...iatek.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
	"linux-arm-kernel@...ts.infradead.org"
	<linux-arm-kernel@...ts.infradead.org>,
	Deren Wu (武德仁) <Deren.Wu@...iatek.com>,
	"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>
Subject: Re: [PATCH next] wifi: mt76: mt7925: fix error checking in
 mt7925_mcu_uni_rx/tx_ba()

On Tue, 2025-02-18 at 16:15 +0300, Dan Carpenter wrote:
> 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> Ping.
> 
> regards,
> dan carpenter
> 
> On Mon, Jan 20, 2025 at 12:46:58PM +0300, Dan Carpenter wrote:
> > The "ret" variable in mt7925_mcu_uni_[rx/tx]_ba() needs to be
> > signed for
> > the if (ret < 0) condition to be true.
> > 
> > Also the mt7925_mcu_sta_ba() function returns positive values on
> > success.
> > The code currently returns whatever non-negative value was returned
> > on
> > the last iteration.  It would be better to return zero on success. 
> > This
> > function is called from mt7925_ampdu_action() which does not check
> > the
> > return value so the return value doesn't affect runtime.  However,
> > it
> > still makes sense to return zero even though nothing is affected in
> > the
> > current code.
> > 
> > Fixes: eb2a9a12c609 ("wifi: mt76: mt7925: Update
> > mt7925_mcu_uni_[tx,rx]_ba for MLO")
> > Signed-off-by: Dan Carpenter <dan.carpenter@...aro.org>
> > ---
> >  drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 14 ++++++++-----
> > -
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
> > b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
> > index 15815ad84713..b3a00964e802 100644
> > --- a/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
> > +++ b/drivers/net/wireless/mediatek/mt76/mt7925/mcu.c
> > @@ -617,7 +617,8 @@ int mt7925_mcu_uni_tx_ba(struct mt792x_dev
> > *dev,
> >       struct mt792x_bss_conf *mconf;
> >       unsigned long usable_links = ieee80211_vif_usable_links(vif);
> >       struct mt76_wcid *wcid;
> > -     u8 link_id, ret;
> > +     u8 link_id;
> > +     int ret;
> > 
> >       for_each_set_bit(link_id, &usable_links,
> > IEEE80211_MLD_MAX_NUM_LINKS) {
> >               mconf = mt792x_vif_to_link(mvif, link_id);
> > @@ -630,10 +631,10 @@ int mt7925_mcu_uni_tx_ba(struct mt792x_dev
> > *dev,
> >               ret = mt7925_mcu_sta_ba(&dev->mt76, &mconf->mt76,
> > wcid, params,
> >                                       enable, true);
> >               if (ret < 0)
> > -                     break;
> > +                     return ret;
> >       }
> > 
> > -     return ret;
> > +     return 0;
> >  }
> > 
> >  int mt7925_mcu_uni_rx_ba(struct mt792x_dev *dev,
> > @@ -647,7 +648,8 @@ int mt7925_mcu_uni_rx_ba(struct mt792x_dev
> > *dev,
> >       struct mt792x_bss_conf *mconf;
> >       unsigned long usable_links = ieee80211_vif_usable_links(vif);
> >       struct mt76_wcid *wcid;
> > -     u8 link_id, ret;
> > +     u8 link_id;
> > +     int ret;
> > 
> >       for_each_set_bit(link_id, &usable_links,
> > IEEE80211_MLD_MAX_NUM_LINKS) {
> >               mconf = mt792x_vif_to_link(mvif, link_id);
> > @@ -657,10 +659,10 @@ int mt7925_mcu_uni_rx_ba(struct mt792x_dev
> > *dev,
> >               ret = mt7925_mcu_sta_ba(&dev->mt76, &mconf->mt76,
> > wcid, params,
> >                                       enable, false);
> >               if (ret < 0)
> > -                     break;
> > +                     return ret;
> >       }
> > 
> > -     return ret;
> > +     return 0;
> >  }
> > 
> >  static int mt7925_load_clc(struct mt792x_dev *dev, const char
> > *fw_name)
> > --
> > 2.45.2
> > 

Hi Dan,

We plan to revert this patch, and the patch is already ongoing as well.
 
https://patchwork.kernel.org/project/linux-wireless/patch/20250114020712.704254-1-sean.wang@kernel.org/

Best Regards,
Yen.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ