diff options
author | mav <mav@FreeBSD.org> | 2015-09-12 20:45:09 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-09-12 20:45:09 +0000 |
commit | 194fd9ab33d84b993b033e814b96f9bca13eef1d (patch) | |
tree | 31c88ae84b7bfa9f1d8d9485c73f37bbd234cc31 | |
parent | 7947a17ff4188302ba3ff158c5e1bdaed813db6d (diff) | |
download | FreeBSD-src-194fd9ab33d84b993b033e814b96f9bca13eef1d.zip FreeBSD-src-194fd9ab33d84b993b033e814b96f9bca13eef1d.tar.gz |
Check for obsolete NUL bin in CSCD descriptor.
-rw-r--r-- | sys/cam/ctl/ctl_tpc_local.c | 3 | ||||
-rw-r--r-- | sys/cam/scsi/scsi_all.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/cam/ctl/ctl_tpc_local.c b/sys/cam/ctl/ctl_tpc_local.c index 5f438af..ce7c3e8 100644 --- a/sys/cam/ctl/ctl_tpc_local.c +++ b/sys/cam/ctl/ctl_tpc_local.c @@ -282,7 +282,8 @@ tpcl_resolve(struct ctl_softc *softc, int init_port, uint64_t lunid = UINT64_MAX; if (cscd->type_code != EC_CSCD_ID || - (cscd->luidt_pdt & EC_LUIDT_MASK) != EC_LUIDT_LUN) + (cscd->luidt_pdt & EC_LUIDT_MASK) != EC_LUIDT_LUN || + (cscd->luidt_pdt & EC_NUL) != 0) return (lunid); cscdid = (struct scsi_ec_cscd_id *)cscd; diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index 253e28e..4f8909c 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -1666,6 +1666,7 @@ struct scsi_ec_cscd uint8_t type_code; #define EC_CSCD_EXT 0xff uint8_t luidt_pdt; +#define EC_NUL 0x20 #define EC_LUIDT_MASK 0xc0 #define EC_LUIDT_LUN 0x00 #define EC_LUIDT_PROXY_TOKEN 0x40 |