Page MenuHomeFreeBSD

D43202.diff
No OneTemporary

D43202.diff

diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c
--- a/sys/cam/scsi/scsi_target.c
+++ b/sys/cam/scsi/scsi_target.c
@@ -634,8 +634,8 @@
xpt_print(periph->path,
"targsendccb failed, err %d\n", error);
xpt_release_ccb(start_ccb);
- suword(&descr->user_ccb->ccb_h.status,
- CAM_REQ_CMP_ERR);
+ (void)suword(&descr->user_ccb->ccb_h.status,
+ CAM_REQ_CMP_ERR);
TAILQ_INSERT_TAIL(&softc->abort_queue, descr, tqe);
notify_user(softc);
}
@@ -867,7 +867,10 @@
CAM_DEBUG(softc->path, CAM_DEBUG_PERIPH,
("targread aborted descr %p (%p)\n",
user_descr, user_ccb));
- suword(&user_ccb->ccb_h.status, CAM_REQ_ABORTED);
+ if (suword(&user_ccb->ccb_h.status, CAM_REQ_ABORTED) != 0) {
+ error = EFAULT;
+ goto read_fail;
+ }
cam_periph_unlock(softc->periph);
error = uiomove((caddr_t)&user_ccb, sizeof(user_ccb), uio);
cam_periph_lock(softc->periph);

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 8, 1:12 AM (20 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34820989
Default Alt Text
D43202.diff (931 B)

Event Timeline