aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Tuffli <chuck@FreeBSD.org>2024-09-19 15:11:30 +0000
committerEd Maste <emaste@FreeBSD.org>2024-10-29 18:52:43 +0000
commit50ca525bfe9633c887029b8aaeafc605a5414831 (patch)
tree98168a0f1bf3676457d313a05d51e79ea1326575
parentc31be7380af7fe71392dd4a1a853780143038ce5 (diff)
-rw-r--r--usr.sbin/bhyve/pci_nvme.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/usr.sbin/bhyve/pci_nvme.c b/usr.sbin/bhyve/pci_nvme.c
index 3db306a19119..cbe4d87b6f60 100644
--- a/usr.sbin/bhyve/pci_nvme.c
+++ b/usr.sbin/bhyve/pci_nvme.c
@@ -1454,7 +1454,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
logsize *= sizeof(uint32_t);
logoff = ((uint64_t)(command->cdw13) << 32) | command->cdw12;
- DPRINTF("%s log page %u len %u", __func__, logpage, logsize);
+ DPRINTF("%s log page %u offset %lu len %u", __func__, logpage, logoff, logsize);
switch (logpage) {
case NVME_LOG_ERROR:
@@ -1466,7 +1466,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
command->prp2, (uint8_t *)&sc->err_log + logoff,
- MIN(logsize - logoff, sizeof(sc->err_log)),
+ MIN(logsize, sizeof(sc->err_log) - logoff),
NVME_COPY_TO_PRP);
break;
case NVME_LOG_HEALTH_INFORMATION:
@@ -1489,7 +1489,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
command->prp2, (uint8_t *)&sc->health_log + logoff,
- MIN(logsize - logoff, sizeof(sc->health_log)),
+ MIN(logsize, sizeof(sc->health_log) - logoff),
NVME_COPY_TO_PRP);
break;
case NVME_LOG_FIRMWARE_SLOT:
@@ -1501,7 +1501,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
command->prp2, (uint8_t *)&sc->fw_log + logoff,
- MIN(logsize - logoff, sizeof(sc->fw_log)),
+ MIN(logsize, sizeof(sc->fw_log) - logoff),
NVME_COPY_TO_PRP);
break;
case NVME_LOG_CHANGED_NAMESPACE:
@@ -1513,7 +1513,7 @@ nvme_opc_get_log_page(struct pci_nvme_softc* sc, struct nvme_command* command,
nvme_prp_memcpy(sc->nsc_pi->pi_vmctx, command->prp1,
command->prp2, (uint8_t *)&sc->ns_log + logoff,
- MIN(logsize - logoff, sizeof(sc->ns_log)),
+ MIN(logsize, sizeof(sc->ns_log) - logoff),
NVME_COPY_TO_PRP);
memset(&sc->ns_log, 0, sizeof(sc->ns_log));
break;