diff options
author | Garrett D'Amore <garrett@damore.org> | 2022-07-26 19:30:46 -0400 |
---|---|---|
committer | Garrett D'Amore <garrett@damore.org> | 2022-07-26 23:24:07 -0400 |
commit | 7a73cc88540259bf08ed9c7aab5983fd7aecb1a3 (patch) | |
tree | cfe4df3c04de373b8d0c7bae7458eb6489dbdb6a | |
parent | f3ba9b4e08f448ddcb00b37383e05dae8544e31e (diff) | |
download | illumos-joyent-7a73cc88540259bf08ed9c7aab5983fd7aecb1a3.tar.gz |
14858 use after free in pvscsi
Reviewed by: Jerry Jelinek <gjelinek@gmail.com>
Reviewed by: Joyce McIntosh <jmcintosh@racktopsystems.com>
Reviewed by: Joshua M. Clulow <josh@sysmgr.org>
Reviewed by: Andrew Stormont <andyjstormont@gmail.com>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>
-rw-r--r-- | usr/src/uts/common/io/scsi/adapters/pvscsi/pvscsi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/scsi/adapters/pvscsi/pvscsi.c b/usr/src/uts/common/io/scsi/adapters/pvscsi/pvscsi.c index 1b560be437..fc77702b12 100644 --- a/usr/src/uts/common/io/scsi/adapters/pvscsi/pvscsi.c +++ b/usr/src/uts/common/io/scsi/adapters/pvscsi/pvscsi.c @@ -1141,6 +1141,7 @@ pvscsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) pvscsi_device_t *pd; pvscsi_softc_t *pvs; int rc; + boolean_t poll; /* make sure the packet is sane */ if ((pkt->pkt_numcookies > PVSCSI_MAX_SG_SIZE) || @@ -1154,7 +1155,7 @@ pvscsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) ASSERT(cmd->pkt == pkt); - cmd->poll = ((pkt->pkt_flags & FLAG_NOINTR) != 0); + poll = cmd->poll = ((pkt->pkt_flags & FLAG_NOINTR) != 0); if (pkt->pkt_flags & (FLAG_HTAG|FLAG_HEAD)) { cmd->tag = MSG_HEAD_QTAG; @@ -1198,7 +1199,7 @@ pvscsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) rc = pvscsi_transport_command(pvs, cmd); - if (cmd->poll && rc == TRAN_ACCEPT) { + if (poll && rc == TRAN_ACCEPT) { pvscsi_poll_cmd(pvs, cmd); pvscsi_set_status(pvs, cmd); } |