On Thu, Apr 21, 2022 at 08:58:48PM +0200, Sven Wolf wrote:
> But when I build a new kernel with the sources from 2022-03-15 everything is
> fine.
> 
> Maybe this commit causes this behaviour/bug
> https://marc.info/?l=openbsd-cvs&m=164777772610775&w=2

Looks like a bug in ral(4) (uninitialized variable) which has been
exposed by the above commit. Does the patch below help?

If it does then I will do a sweep of all wifi drivers for similar problems.
Sorry for not catching this earlier. This could have been caught had it
occurred to me to check for any uninitialized use of this struct when
I added a new field...

diff a26af1db5d30d7a58f91742886569d0d8891b827 /usr/src
blob - 3178226c0b633534b065088e426e80b5a26853c9
file + sys/dev/ic/rt2860.c
--- sys/dev/ic/rt2860.c
+++ sys/dev/ic/rt2860.c
@@ -1275,6 +1275,8 @@ rt2860_rx_intr(struct rt2860_softc *sc)
        uint16_t phy;
 #endif
 
+       memset(&rxi, 0, sizeof(rxi));
+
        hw = RAL_READ(sc, RT2860_FS_DRX_IDX) & 0xfff;
        while (sc->rxq.cur != hw) {
                struct rt2860_rx_data *data = &sc->rxq.data[sc->rxq.cur];

Reply via email to