Path: blob/main/website/static/security/patches/EN-14:05/ciss.patch
18096 views
Index: sys/dev/ciss/ciss.c1===================================================================2--- sys/dev/ciss/ciss.c (revision 264510)3+++ sys/dev/ciss/ciss.c (revision 264511)4@@ -180,8 +180,6 @@5static void ciss_cam_poll(struct cam_sim *sim);6static void ciss_cam_complete(struct ciss_request *cr);7static void ciss_cam_complete_fixup(struct ciss_softc *sc, struct ccb_scsiio *csio);8-static struct cam_periph *ciss_find_periph(struct ciss_softc *sc,9- int bus, int target);10static int ciss_name_device(struct ciss_softc *sc, int bus, int target);1112/* periodic status monitoring */13@@ -3398,27 +3396,6 @@141516/********************************************************************************17- * Find a peripheral attached at (target)18- */19-static struct cam_periph *20-ciss_find_periph(struct ciss_softc *sc, int bus, int target)21-{22- struct cam_periph *periph;23- struct cam_path *path;24- int status;25-26- status = xpt_create_path(&path, NULL, cam_sim_path(sc->ciss_cam_sim[bus]),27- target, 0);28- if (status == CAM_REQ_CMP) {29- periph = cam_periph_find(path, NULL);30- xpt_free_path(path);31- } else {32- periph = NULL;33- }34- return(periph);35-}36-37-/********************************************************************************38* Name the device at (target)39*40* XXX is this strictly correct?41@@ -3427,12 +3404,22 @@42ciss_name_device(struct ciss_softc *sc, int bus, int target)43{44struct cam_periph *periph;45+ struct cam_path *path;46+ int status;4748if (CISS_IS_PHYSICAL(bus))49return (0);50- if ((periph = ciss_find_periph(sc, bus, target)) != NULL) {51+52+ status = xpt_create_path(&path, NULL, cam_sim_path(sc->ciss_cam_sim[bus]),53+ target, 0);54+55+ if (status == CAM_REQ_CMP) {56+ mtx_lock(&sc->ciss_mtx);57+ periph = cam_periph_find(path, NULL);58sprintf(sc->ciss_logical[bus][target].cl_name, "%s%d",59periph->periph_name, periph->unit_number);60+ mtx_unlock(&sc->ciss_mtx);61+ xpt_free_path(path);62return(0);63}64sc->ciss_logical[bus][target].cl_name[0] = 0;656667