The branch main has been updated by marius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=e60a0db3b8c922f9bcd085f737508a9cb4eb7f29

commit e60a0db3b8c922f9bcd085f737508a9cb4eb7f29
Author:     Marius Strobl <mar...@freebsd.org>
AuthorDate: 2021-01-21 22:34:19 +0000
Commit:     Marius Strobl <mar...@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;
        }
_______________________________________________
dev-commits-src-main@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"

Reply via email to