summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve/acpi.c
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-03-02 14:48:41 +0000
committerattilio <attilio@FreeBSD.org>2013-03-02 14:48:41 +0000
commite98f58faf63a90d85e0e2ad78353915f9615a4eb (patch)
treeb9feaa4bea034f2e9d11c7eb34aa95c672a3a86b /usr.sbin/bhyve/acpi.c
parentbcc31f462ba76b89e3789cb24393126466e3775d (diff)
parent5d33901b24a0ca4496b12ca2299df4b62dfdfd35 (diff)
downloadFreeBSD-src-e98f58faf63a90d85e0e2ad78353915f9615a4eb.zip
FreeBSD-src-e98f58faf63a90d85e0e2ad78353915f9615a4eb.tar.gz
MFC
Diffstat (limited to 'usr.sbin/bhyve/acpi.c')
-rw-r--r--usr.sbin/bhyve/acpi.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/usr.sbin/bhyve/acpi.c b/usr.sbin/bhyve/acpi.c
index 32effdc..cabe75e 100644
--- a/usr.sbin/bhyve/acpi.c
+++ b/usr.sbin/bhyve/acpi.c
@@ -683,13 +683,16 @@ static int
basl_load(int fd, uint64_t off)
{
struct stat sb;
+ void *gaddr;
int err;
err = 0;
-
- if (fstat(fd, &sb) < 0 ||
- read(fd, paddr_guest2host(basl_acpi_base + off), sb.st_size) < 0)
+ gaddr = paddr_guest2host(basl_acpi_base + off, sb.st_size);
+ if (gaddr != NULL) {
+ if (fstat(fd, &sb) < 0 || read(fd, gaddr, sb.st_size) < 0)
err = errno;
+ } else
+ err = EFAULT;
return (err);
}
OpenPOWER on IntegriCloud