From 6adf554abd1c848d2c9ab7ea8a7fb7dd20a0c186 Mon Sep 17 00:00:00 2001 From: Mark Johnston Date: Mon, 25 Dec 2023 20:43:51 -0500 Subject: [PATCH] vmm: Fix handling of errors from subyte() subyte() returns -1 upon an error, not an errno value. MFC after: 1 week Fixes: e17eca327633 ("vmm: Avoid embedding cpuset_t ioctl ABIs") --- sys/amd64/vmm/vmm_dev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/amd64/vmm/vmm_dev.c b/sys/amd64/vmm/vmm_dev.c index cae15d7059cb..5214cd3f1447 100644 --- a/sys/amd64/vmm/vmm_dev.c +++ b/sys/amd64/vmm/vmm_dev.c @@ -629,10 +629,12 @@ vmmdev_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, p = (uint8_t *)vmrun->cpuset + sizeof(cpuset_t); - while (error == 0 && - p < (uint8_t *)vmrun->cpuset + + while (p < (uint8_t *)vmrun->cpuset + vmrun->cpusetsize) { - error = subyte(p++, 0); + if (subyte(p++, 0) != 0) { + error = EFAULT; + break; + } } } }