diff options
| author | Klaus Jensen <k.jensen@samsung.com> | 2023-05-24 11:28:34 +0200 |
|---|---|---|
| committer | Klaus Jensen <k.jensen@samsung.com> | 2023-06-28 11:22:17 +0200 |
| commit | 3ae8a54a087d54cfd109ab3d844ff4cba54a28d8 (patch) | |
| tree | 0d9c7d8e3074d00aee2c88f9f084241e267ae7fc /hw/nvme/subsys.c | |
| parent | 381ab99d858709eab34b65d123a6356b8b1e87bd (diff) | |
| download | focaccia-qemu-3ae8a54a087d54cfd109ab3d844ff4cba54a28d8.tar.gz focaccia-qemu-3ae8a54a087d54cfd109ab3d844ff4cba54a28d8.zip | |
hw/nvme: fix verification of number of ruhis
Fix a off-by-one error when verifying the number of reclaim unit handle
identifiers specified in fdp.ruhs. To make the fix nicer, move the
verification of the fdp.nruh parameter to an earlier point.
Fixes: 73064edfb864 ("hw/nvme: flexible data placement emulation")
Reviewed-by: Jesper Wendel Devantier <j.devantier@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Diffstat (limited to 'hw/nvme/subsys.c')
| -rw-r--r-- | hw/nvme/subsys.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/hw/nvme/subsys.c b/hw/nvme/subsys.c index 24ddec860e..d30bb8bfd5 100644 --- a/hw/nvme/subsys.c +++ b/hw/nvme/subsys.c @@ -158,8 +158,10 @@ static bool nvme_subsys_setup_fdp(NvmeSubsystem *subsys, Error **errp) endgrp->fdp.nrg = subsys->params.fdp.nrg; - if (!subsys->params.fdp.nruh) { - error_setg(errp, "fdp.nruh must be non-zero"); + if (!subsys->params.fdp.nruh || + subsys->params.fdp.nruh > NVME_FDP_MAXPIDS) { + error_setg(errp, "fdp.nruh must be non-zero and less than %u", + NVME_FDP_MAXPIDS); return false; } |