Re: [PATCH v2 2/2] wifi: b43: fix OOB read from hardware key index in b43_rx()

Michael Büsch <[email protected]> Thu, 16 Apr 2026 18:35:54 +0200
Newsgroups org.infradead.lists.b43-dev,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless
Message-ID <20260416183554.7add6b06@barney>
--===============0901829195834179257==
Content-Type: multipart/signed; boundary="Sig_//0vg=Mq815_JCc8zFztXnZk";
 protocol="application/pgp-signature"; micalg=pgp-sha512

--Sig_//0vg=Mq815_JCc8zFztXnZk
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, 16 Apr 2026 08:34:11 +0200
Jonas Gorski <[email protected]> wrote:
> > diff --git a/drivers/net/wireless/broadcom/b43/xmit.c b/drivers/net/wir=
eless/broadcom/b43/xmit.c
> > index XXXXXXX..XXXXXXX 100644
> > --- a/drivers/net/wireless/broadcom/b43/xmit.c
> > +++ b/drivers/net/wireless/broadcom/b43/xmit.c
> > @@ -704,7 +704,10 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff =
*skb, const void *_rxhdr)
> >                  */
> >                 keyidx =3D b43_kidx_to_raw(dev, keyidx);
> > -               B43_WARN_ON(keyidx >=3D ARRAY_SIZE(dev->key));
> > +               if (keyidx >=3D ARRAY_SIZE(dev->key)) {
> > +                       b43dbg(dev->wl, "RX: invalid key index %u\n", k=
eyidx);
> > +                       goto drop;
> > +               } =20
>=20
> B43_WARN_ON() returns the condition's result, so if you keep it you
> can shorten this to
>=20
> if (B43_WARN_ON(keyidx >=3D ARRAY_SIZE(dev->key)))
>         goto drop;

Acked-by: Michael B=C3=BCsch <[email protected]>

Please also check the b43legacy driver. It may contain exactly the same cod=
e.

--=20
Michael B=C3=BCsch
https://bues.ch/

--Sig_//0vg=Mq815_JCc8zFztXnZk
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEihRzkKVZOnT2ipsS9TK+HZCNiw4FAmnhD+oACgkQ9TK+HZCN
iw4+gA/9Ff2iU8x3O005D+JjdnNz/4hJt9UxhdmH+177BDDCD9R4F7nsEKqynN+1
cecA+FYiPkR8LeaesdIjK9FiI3mVilHKPEBNJzRRzCld+mvkOQXQBJ+ElshKXVZW
oc1g5tBlIs16vZjzdBnSagJNrkwV1jKxLwvSjgGdIGhh15nIGZkBO+ZydIpSEUUY
/83voqDUPsQuLx8OyQpuf6ehmpe//vuTBN79CuNhFN/V6Aja96Lz10LgzfmUYaW4
Wti6/HL83pEeWaBGbFJMOFisgJrHbbsJlZphKRI/FqV7+Mj0Mr7euRmg+jE3W5Tu
lzC13gB3FKIy0Mqq8gwwDVrQllHZ9bvkWBAcXy6mWoc7rZrRqB08pR6F+Sfnsrrc
7nvk7q+2RknOPOr6vMNnu4wksXsMoL99UGN8u7ux6Wb7hGmuPO7dLveyUe6yzWdc
0nv9YBjOH64sItAfDIovpX4meEU32uvP/BDk9cMl7QcyuCTzg1Mkh9c6ksBP9b/z
+eYdx7H+qeopuEZ+o4PymRV2uoMzryQKTFaEP1icjBPgwVCMD4KrPslPopb2yase
99k04lggNYkCnrH6QF4+gIEBSwj24Bt8sveFcnOCb94vEakXLWLN313ZOjhhC8a2
mV6IQq6EwQJcy+LE+mHd+Ew6HkFFCg9TXvvvm7+rA/4bYj1PKaE=
=0xKO
-----END PGP SIGNATURE-----

--Sig_//0vg=Mq815_JCc8zFztXnZk--


--===============0901829195834179257==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
b43-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/b43-dev

--===============0901829195834179257==--