git: e60a0db3b8c9 - main - sym(4): fix nits reported by Coverity
Marius Strobl
marius at FreeBSD.org
Thu Jan 21 23:20:50 UTC 2021
The branch main has been updated by marius:
URL: https://cgit.FreeBSD.org/src/commit/?id=e60a0db3b8c922f9bcd085f737508a9cb4eb7f29
commit e60a0db3b8c922f9bcd085f737508a9cb4eb7f29
Author: Marius Strobl <marius at FreeBSD.org>
AuthorDate: 2021-01-21 22:34:19 +0000
Commit: Marius Strobl <marius at FreeBSD.org>
CommitDate: 2021-01-21 23:18:39 +0000
sym(4): fix nits reported by Coverity
- In ___dma_getp(), remove dead code. [1]
- In sym_sir_bad_scsi_status(), add missing FALLTHROUGH. [2]
While at it:
- For getbaddrcb(), remove __unused from the nseg argument as it's in
fact used when compiling with INVARIANTS.
- In sym_int_sir(), ensure in all branches that cp is not NULL before
using it.
Reported by: Coverity
CID: 1008861 [1], 114996 [2]
---
sys/dev/sym/sym_hipd.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c
index 45a9452dbd81..f1c058f75c52 100644
--- a/sys/dev/sym/sym_hipd.c
+++ b/sys/dev/sym/sym_hipd.c
@@ -571,8 +571,7 @@ static void sym_mfree(void *ptr, int size, char *name)
* BUS handle. A reverse table (hashed) is maintained for virtual
* to BUS address translation.
*/
-static void getbaddrcb(void *arg, bus_dma_segment_t *segs, int nseg __unused,
- int error)
+static void getbaddrcb(void *arg, bus_dma_segment_t *segs, int nseg, int error)
{
bus_addr_t *baddr;
@@ -610,8 +609,6 @@ static m_addr_t ___dma_getp(m_pool_s *mp)
return (m_addr_t) vaddr;
}
out_err:
- if (baddr)
- bus_dmamap_unload(mp->dmat, vbp->dmamap);
if (vaddr)
bus_dmamem_free(mp->dmat, vaddr, vbp->dmamap);
if (vbp)
@@ -4680,6 +4677,7 @@ static void sym_sir_bad_scsi_status(hcb_p np, ccb_p cp)
PRINT_ADDR(cp);
printf (s_status == S_BUSY ? "BUSY" : "QUEUE FULL\n");
}
+ /* FALLTHROUGH */
default: /* S_INT, S_INT_COND_MET, S_CONFLICT */
sym_complete_error (np, cp);
break;
@@ -6003,6 +6001,8 @@ static void sym_int_sir (hcb_p np)
* or has been auto-sensed.
*/
case SIR_COMPLETE_ERROR:
+ if (!cp)
+ goto out;
sym_complete_error(np, cp);
return;
/*
@@ -6228,6 +6228,8 @@ static void sym_int_sir (hcb_p np)
* Target does not want answer message.
*/
case SIR_NEGO_PROTO:
+ if (!cp)
+ goto out;
sym_nego_default(np, tp, cp);
goto out;
}
More information about the dev-commits-src-all
mailing list