git: 8dc96b74edb8 - main - cam: clear on-stack CCBs in last few drivers

Edward Tomasz Napierala trasz at FreeBSD.org
Fri May 21 07:57:07 UTC 2021


The branch main has been updated by trasz:

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

commit 8dc96b74edb844bb621afeba38fe4af104b13120
Author:     Edward Tomasz Napierala <trasz at FreeBSD.org>
AuthorDate: 2021-05-21 07:48:27 +0000
Commit:     Edward Tomasz Napierala <trasz at FreeBSD.org>
CommitDate: 2021-05-21 07:53:59 +0000

    cam: clear on-stack CCBs in last few drivers
    
    This changes ahc(4), ahd(4), hptiop(4), hptnr(4), hptrr(4),
    and ps3cdrom(4).
    
    Reviewed By:    imp
    Sponsored by:   NetApp, Inc.
    Sponsored by:   Klara, Inc.
    Differential Revision:  https://reviews.freebsd.org/D30305
---
 sys/dev/aic7xxx/aic79xx_osm.c     | 1 +
 sys/dev/aic7xxx/aic7xxx_osm.c     | 1 +
 sys/dev/hpt27xx/hpt27xx_osm_bsd.c | 1 +
 sys/dev/hptiop/hptiop.c           | 2 ++
 sys/dev/hptnr/hptnr_osm_bsd.c     | 1 +
 sys/dev/hptrr/hptrr_osm_bsd.c     | 1 +
 sys/powerpc/ps3/ps3cdrom.c        | 1 +
 7 files changed, 8 insertions(+)

diff --git a/sys/dev/aic7xxx/aic79xx_osm.c b/sys/dev/aic7xxx/aic79xx_osm.c
index 31750eced9c5..16d39f43a2cc 100644
--- a/sys/dev/aic7xxx/aic79xx_osm.c
+++ b/sys/dev/aic7xxx/aic79xx_osm.c
@@ -267,6 +267,7 @@ ahd_attach(struct ahd_softc *ahd)
 		goto fail;
 	}
 		
+	memset(&csa, 0, sizeof(csa));
 	xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5);
 	csa.ccb_h.func_code = XPT_SASYNC_CB;
 	csa.event_enable = AC_LOST_DEVICE;
diff --git a/sys/dev/aic7xxx/aic7xxx_osm.c b/sys/dev/aic7xxx/aic7xxx_osm.c
index 81059a281fba..de679ec210a1 100644
--- a/sys/dev/aic7xxx/aic7xxx_osm.c
+++ b/sys/dev/aic7xxx/aic7xxx_osm.c
@@ -215,6 +215,7 @@ ahc_attach(struct ahc_softc *ahc)
 		goto fail;
 	}
 		
+	memset(&csa, 0, sizeof(csa));
 	xpt_setup_ccb(&csa.ccb_h, path, /*priority*/5);
 	csa.ccb_h.func_code = XPT_SASYNC_CB;
 	csa.event_enable = AC_LOST_DEVICE;
diff --git a/sys/dev/hpt27xx/hpt27xx_osm_bsd.c b/sys/dev/hpt27xx/hpt27xx_osm_bsd.c
index aa7c14e68d88..9a5a27482fab 100644
--- a/sys/dev/hpt27xx/hpt27xx_osm_bsd.c
+++ b/sys/dev/hpt27xx/hpt27xx_osm_bsd.c
@@ -1252,6 +1252,7 @@ static void hpt_final_init(void *dummy)
 			return ;
 		}
 
+		memset(&ccb, 0, sizeof(ccb));
 		xpt_setup_ccb(&ccb.ccb_h, vbus_ext->path, /*priority*/5);
 		ccb.ccb_h.func_code = XPT_SASYNC_CB;
 		ccb.event_enable = AC_LOST_DEVICE;
diff --git a/sys/dev/hptiop/hptiop.c b/sys/dev/hptiop/hptiop.c
index 50d26231a91c..c5ac59f31df5 100644
--- a/sys/dev/hptiop/hptiop.c
+++ b/sys/dev/hptiop/hptiop.c
@@ -2046,6 +2046,7 @@ static int hptiop_attach(device_t dev)
 		goto free_hba_path;
 	}
 
+	memset(&ccb, 0, sizeof(ccb));
 	xpt_setup_ccb(&ccb.ccb_h, hba->path, /*priority*/5);
 	ccb.ccb_h.func_code = XPT_SASYNC_CB;
 	ccb.event_enable = (AC_FOUND_DEVICE | AC_LOST_DEVICE);
@@ -2797,6 +2798,7 @@ static void hptiop_release_resource(struct hpt_iop_hba *hba)
 	if (hba->path) {
 		struct ccb_setasync ccb;
 
+		memset(&ccb, 0, sizeof(ccb));
 		xpt_setup_ccb(&ccb.ccb_h, hba->path, /*priority*/5);
 		ccb.ccb_h.func_code = XPT_SASYNC_CB;
 		ccb.event_enable = 0;
diff --git a/sys/dev/hptnr/hptnr_osm_bsd.c b/sys/dev/hptnr/hptnr_osm_bsd.c
index 8afd3e22d2e8..2fe5c43d8b09 100644
--- a/sys/dev/hptnr/hptnr_osm_bsd.c
+++ b/sys/dev/hptnr/hptnr_osm_bsd.c
@@ -1438,6 +1438,7 @@ static void hpt_final_init(void *dummy)
 		}
 		hpt_unlock_vbus(vbus_ext);
 
+		memset(&ccb, 0, sizeof(ccb));
 		xpt_setup_ccb(&ccb.ccb_h, vbus_ext->path, /*priority*/5);
 		ccb.ccb_h.func_code = XPT_SASYNC_CB;
 		ccb.event_enable = AC_LOST_DEVICE;
diff --git a/sys/dev/hptrr/hptrr_osm_bsd.c b/sys/dev/hptrr/hptrr_osm_bsd.c
index 3fc13f65a984..5dc9680e5cc8 100644
--- a/sys/dev/hptrr/hptrr_osm_bsd.c
+++ b/sys/dev/hptrr/hptrr_osm_bsd.c
@@ -1086,6 +1086,7 @@ static void hpt_final_init(void *dummy)
 		}
 		hpt_unlock_vbus(vbus_ext);
 
+		memset(&ccb, 0, sizeof(ccb));
 		xpt_setup_ccb(&ccb.ccb_h, vbus_ext->path, /*priority*/5);
 		ccb.ccb_h.func_code = XPT_SASYNC_CB;
 		ccb.event_enable = AC_LOST_DEVICE;
diff --git a/sys/powerpc/ps3/ps3cdrom.c b/sys/powerpc/ps3/ps3cdrom.c
index 776f52d4db7b..2f9b193e9af4 100644
--- a/sys/powerpc/ps3/ps3cdrom.c
+++ b/sys/powerpc/ps3/ps3cdrom.c
@@ -262,6 +262,7 @@ ps3cdrom_attach(device_t dev)
 		goto fail_unregister_xpt_bus;
 	}
 
+	memset(&csa, 0, sizeof(csa));
 	xpt_setup_ccb(&csa.ccb_h, sc->sc_path, 5);
 	csa.ccb_h.func_code = XPT_SASYNC_CB;
 	csa.event_enable = AC_LOST_DEVICE;


More information about the dev-commits-src-all mailing list