diff options
| author | Jim Harris <jimharris@FreeBSD.org> | 2013-07-24 22:40:34 +0000 |
|---|---|---|
| committer | Jim Harris <jimharris@FreeBSD.org> | 2013-07-24 22:40:34 +0000 |
| commit | 29b5ff11d51ffa5bc83dc8098c34910cb43bfb46 (patch) | |
| tree | a407e79c44893b01c638a296576b3d0cea3c0cb4 /sys/dev | |
| parent | 0d0aca3c369dc7da7d7a0ecf62057cf79ba197a1 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/nvd/nvd.c | 8 | ||||
| -rw-r--r-- | sys/dev/nvme/nvme.h | 10 |
2 files changed, 13 insertions, 5 deletions
diff --git a/sys/dev/nvd/nvd.c b/sys/dev/nvd/nvd.c index 1d2d8919d238..868a238301dc 100644 --- a/sys/dev/nvd/nvd.c +++ b/sys/dev/nvd/nvd.c @@ -306,12 +306,16 @@ nvd_new_disk(struct nvme_namespace *ns, void *ctrlr_arg) disk->d_flags |= DISKFLAG_UNMAPPED_BIO; #endif + /* + * d_ident and d_descr are both far bigger than the length of either + * the serial or model number strings. + */ strlcpy(disk->d_ident, nvme_ns_get_serial_number(ns), - sizeof(disk->d_ident)); + min(sizeof(disk->d_ident), NVME_SERIAL_NUMBER_LENGTH)); #if __FreeBSD_version >= 900034 strlcpy(disk->d_descr, nvme_ns_get_model_number(ns), - sizeof(disk->d_descr)); + min(sizeof(disk->d_descr), NVME_MODEL_NUMBER_LENGTH)); #endif disk_create(disk, DISK_VERSION); diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h index df409cc7cfb3..f30505a7bc8f 100644 --- a/sys/dev/nvme/nvme.h +++ b/sys/dev/nvme/nvme.h @@ -389,6 +389,10 @@ enum nvme_activate_action { NVME_AA_ACTIVATE = 0x2, }; +#define NVME_SERIAL_NUMBER_LENGTH 20 +#define NVME_MODEL_NUMBER_LENGTH 40 +#define NVME_FIRMWARE_REVISION_LENGTH 8 + struct nvme_controller_data { /* bytes 0-255: controller capabilities and features */ @@ -400,13 +404,13 @@ struct nvme_controller_data { uint16_t ssvid; /** serial number */ - int8_t sn[20]; + int8_t sn[NVME_SERIAL_NUMBER_LENGTH]; /** model number */ - int8_t mn[40]; + int8_t mn[NVME_MODEL_NUMBER_LENGTH]; /** firmware revision */ - uint8_t fr[8]; + uint8_t fr[NVME_FIRMWARE_REVISION_LENGTH]; /** recommended arbitration burst */ uint8_t rab; |
