user-exec.c: Don't assert on segfaults for non-valid addresses
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 3 May 2012 18:32:15 +0000 (19:32 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 8 May 2012 16:15:18 +0000 (11:15 -0500)
commitc5954819b6ee601024c081635be0336ce0cb1115
tree09eb4caba3e170ed336e43bbb479e57bc8c4a2e9
parent90f2cefb17f3e25272143f43cd00f6347e65987b
user-exec.c: Don't assert on segfaults for non-valid addresses

h2g() will assert if passed an address that's not a valid guest address,
so handle_cpu_signal() needs to check before passing "data address
which caused a segfault" to it, since for a misbehaving guest
that could be anything. If the address isn't a valid guest address
then we can simply skip the attempt to unprotect a guest page
which was made read-only to catch self-modifying code.

This assertion probably fires more readily now than it used to
do because of recent changes to default to reserving guest address
space.

Acked-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
user-exec.c