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;