summaryrefslogtreecommitdiffstats
path: root/sys/cam/cam_periph.h
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2014-01-14 12:01:36 +0000
committermav <mav@FreeBSD.org>2014-01-14 12:01:36 +0000
commit204096a62c437bf225d1c682cef7cc4acdbf565b (patch)
treead87a260284e40088353372385994534ac0abab7 /sys/cam/cam_periph.h
parenta7224392fd4991684fae0ef226fb2367cb016c43 (diff)
downloadFreeBSD-src-204096a62c437bf225d1c682cef7cc4acdbf565b.zip
FreeBSD-src-204096a62c437bf225d1c682cef7cc4acdbf565b.tar.gz
MFC r260541, r260547:
Take additional reference on SCSI probe periph to cover its freeze count. Otherwise periph may be invalidated and freed before single-stepping freeze is dropped, causing use after free panic.
Diffstat (limited to 'sys/cam/cam_periph.h')
-rw-r--r--sys/cam/cam_periph.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/cam/cam_periph.h b/sys/cam/cam_periph.h
index b9a04d9..ebcf1a4 100644
--- a/sys/cam/cam_periph.h
+++ b/sys/cam/cam_periph.h
@@ -152,6 +152,7 @@ cam_status cam_periph_alloc(periph_ctor_t *periph_ctor,
struct cam_periph *cam_periph_find(struct cam_path *path, char *name);
int cam_periph_list(struct cam_path *, struct sbuf *);
cam_status cam_periph_acquire(struct cam_periph *periph);
+void cam_periph_doacquire(struct cam_periph *periph);
void cam_periph_release(struct cam_periph *periph);
void cam_periph_release_locked(struct cam_periph *periph);
void cam_periph_release_locked_buses(struct cam_periph *periph);
OpenPOWER on IntegriCloud