Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Oct 2014 13:49:54 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r273166 - head/lib/libkvm
Message-ID:  <201410161349.s9GDnsiv039593@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Thu Oct 16 13:49:54 2014
New Revision: 273166
URL: https://svnweb.freebsd.org/changeset/base/273166

Log:
  Fix the type of pte_pa as when it is passed into _kvm_pa2off it is either
  a uint64_t or a pointer to an off_t. With it being a u_long can result in
  incorrect values being returned.

Modified:
  head/lib/libkvm/kvm_arm.c

Modified: head/lib/libkvm/kvm_arm.c
==============================================================================
--- head/lib/libkvm/kvm_arm.c	Thu Oct 16 12:41:14 2014	(r273165)
+++ head/lib/libkvm/kvm_arm.c	Thu Oct 16 13:49:54 2014	(r273166)
@@ -212,7 +212,7 @@ _kvm_kvatop(kvm_t *kd, u_long va, off_t 
 	struct vmstate *vm = kd->vmst;
 	pd_entry_t pd;
 	pt_entry_t pte;
-	u_long pte_pa;
+	off_t pte_pa;
 
 	if (kd->vmst->minidump)
 		return (_kvm_minidump_kvatop(kd, va, pa));
@@ -228,7 +228,7 @@ _kvm_kvatop(kvm_t *kd, u_long va, off_t 
 		return  (_kvm_pa2off(kd, *pa, pa, L1_S_SIZE));
 	}
 	pte_pa = (pd & L1_ADDR_MASK) + l2pte_index(va) * sizeof(pte);
-	_kvm_pa2off(kd, pte_pa, (off_t *)&pte_pa, L1_S_SIZE);
+	_kvm_pa2off(kd, pte_pa, &pte_pa, L1_S_SIZE);
 	if (lseek(kd->pmfd, pte_pa, 0) == -1) {
 		_kvm_syserr(kd, kd->program, "_kvm_kvatop: lseek");
 		goto invalid;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410161349.s9GDnsiv039593>