arm: Fix broken page table permissions checks in remote GDB
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 2 Mar 2015 09:00:27 +0000 (04:00 -0500)
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>
Mon, 2 Mar 2015 09:00:27 +0000 (04:00 -0500)
commit34dcd90b61b6fcde7f4ff1cd717f71edca40f9b9
treea94eaca5591e9f6027e6d279b2ee004d098d38e9
parent670f44e05eb8eb1a56b36c4390cf83807a28d823
arm: Fix broken page table permissions checks in remote GDB

The remote GDB interface currently doesn't check if translations are
valid before reading memory. This causes a panic when GDB tries to
access unmapped memory (e.g., when getting a stack trace). There are
two reasons for this: 1) The function used to check for valid
translations (virtvalid()) doesn't work and panics on invalid
translations. 2) The method in the GDB interface used to test if a
translation is valid (RemoteGDB::acc) always returns true regardless
of the return from virtvalid().

This changeset fixes both of these issues.
src/arch/arm/remote_gdb.cc
src/arch/arm/vtophys.cc