Module Name: src Committed By: maxv Date: Thu Mar 14 19:10:28 UTC 2019
Modified Files: src/sys/dev/nvmm: nvmm.c Log Message: Fail early if we're beyond the guest max ram. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/dev/nvmm/nvmm.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/nvmm/nvmm.c diff -u src/sys/dev/nvmm/nvmm.c:1.9 src/sys/dev/nvmm/nvmm.c:1.10 --- src/sys/dev/nvmm/nvmm.c:1.9 Thu Mar 7 15:22:21 2019 +++ src/sys/dev/nvmm/nvmm.c Thu Mar 14 19:10:27 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: nvmm.c,v 1.9 2019/03/07 15:22:21 maxv Exp $ */ +/* $NetBSD: nvmm.c,v 1.10 2019/03/14 19:10:27 maxv Exp $ */ /* * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nvmm.c,v 1.9 2019/03/07 15:22:21 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nvmm.c,v 1.10 2019/03/14 19:10:27 maxv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -490,6 +490,9 @@ nvmm_do_vcpu_run(struct nvmm_machine *ma if (__predict_true(exit->reason != NVMM_EXIT_MEMORY)) { break; } + if (exit->u.mem.gpa >= mach->gpa_end) { + break; + } if (uvm_fault(&vm->vm_map, exit->u.mem.gpa, VM_PROT_ALL)) { break; }