Hello,
This is the last spl lock leak which i've found with static code analysis.
This is not in GENERIC. For testing I compiled it into my kernel and run
the kernel without any error.
bye,
Jan
Index: trm.c
===================================================================
RCS file: /mount/cvsdev/cvs/openbsd/src/sys/dev/ic/trm.c,v
retrieving revision 1.29
diff -u -w -p -r1.29 trm.c
--- trm.c 27 Apr 2011 03:39:32 -0000 1.29
+++ trm.c 2 Dec 2011 14:11:03 -0000
@@ -296,7 +296,7 @@ trm_StartWaitingSRB(struct trm_softc *sc
if ((sc->pActiveDCB != NULL) ||
(TAILQ_EMPTY(&sc->waitingSRB)) ||
(sc->sc_Flag & (RESET_DETECT | RESET_DONE | RESET_DEV)) != 0)
- return;
+ goto out;
for (pSRB = TAILQ_FIRST(&sc->waitingSRB); pSRB != NULL; pSRB = next) {
next = TAILQ_NEXT(pSRB, link);
@@ -309,6 +309,7 @@ trm_StartWaitingSRB(struct trm_softc *sc
}
}
+ out:
splx(intflag);
}