diff options
author | mav <mav@FreeBSD.org> | 2014-01-14 12:01:36 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2014-01-14 12:01:36 +0000 |
commit | 204096a62c437bf225d1c682cef7cc4acdbf565b (patch) | |
tree | ad87a260284e40088353372385994534ac0abab7 /sys/cam/cam_periph.h | |
parent | a7224392fd4991684fae0ef226fb2367cb016c43 (diff) | |
download | FreeBSD-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.h | 1 |
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); |