@samitouri / QOSamiQemu / commits / 4492f282dd

include/block: define constants for NVME string fields

The version, model and serial fields accept fixed length strings. Add constants to enable user supplied strings to be validated. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>

Daniel P. Berrangé committed Mar 6, 2026 at 16:57 UTC 4492f282ddbe62776e20e883b3c46014c5407b9a
1 file changed +7 -3
include/block/nvme.h
+7 -3
@@ -1134,12 +1134,16 @@ enum NvmeIdCns {
1134 NVME_ID_CNS_CS_IND_NS_ALLOCATED = 0x1f,
1135 };
1136
1137 +#define NVME_ID_CTRL_SN_MAX_LEN 20
1138 +#define NVME_ID_CTRL_MN_MAX_LEN 40
1139 +#define NVME_ID_CTRL_FR_MAX_LEN 8
1140 +
1141 typedef struct QEMU_PACKED NvmeIdCtrl {
1142 uint16_t vid;
1143 uint16_t ssvid;
1140 - uint8_t sn[20];
1141 - uint8_t mn[40];
1142 - uint8_t fr[8];
1144 + uint8_t sn[NVME_ID_CTRL_SN_MAX_LEN];
1145 + uint8_t mn[NVME_ID_CTRL_MN_MAX_LEN];
1146 + uint8_t fr[NVME_ID_CTRL_FR_MAX_LEN];
1147 uint8_t rab;
1148 uint8_t ieee[3];
1149 uint8_t cmic;