From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 15/15] exec: clamp accesses against the MemoryRegionSection
Date: Fri, 19 Jun 2015 09:45:36 +0200 [thread overview]
Message-ID: <1434699936-4433-16-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1434699936-4433-1-git-send-email-pbonzini@redhat.com>
Because the clamping was done against the MemoryRegion,
address_space_rw was effectively broken if a write spanned
multiple sections that are not linear in underlying memory
(with the memory not being under an IOMMU).
This is visible with the MIPS rc4030 IOMMU, which is implemented
as a series of alias memory regions that point to the actual RAM.
Tested-by: Hervé Poussineau <hpoussin@reactos.org>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
exec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/exec.c b/exec.c
index d00e017..f7883d2 100644
--- a/exec.c
+++ b/exec.c
@@ -353,7 +353,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x
mr = section->mr;
if (memory_region_is_ram(mr)) {
- diff = int128_sub(mr->size, int128_make64(addr));
+ diff = int128_sub(section->size, int128_make64(addr));
*plen = int128_get64(int128_min(diff, int128_make64(*plen)));
}
return section;
--
2.4.3
next prev parent reply other threads:[~2015-06-19 7:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-19 7:45 [Qemu-devel] [PULL 00/15] Timer, virtio-scsi-test, build, memory changes for 2015-06-19 Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 01/15] qemu-log: Open file for logging when specified Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 02/15] qemu-ga: adding vss-[un]install options Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 03/15] qemu-ga: debug printouts to help troubleshoot installation Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 04/15] qemu-ga: Introduce Windows MSI script Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 05/15] qemu-ga: Building Windows MSI installation with configure/Makefile Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 06/15] i8254: fix out-of-bounds memory access in pit_ioport_read() Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 07/15] tests: Link libqos virtio object to virtio-scsi-test Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 08/15] libqos: Allow calling guest_free on NULL pointer Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 09/15] libqos: Complete virtio device ID definition list Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 10/15] tests: virtio-scsi: Move start/stop to individual test functions Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 11/15] tests: virtio-scsi: Add test for unaligned WRITE SAME Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 12/15] qemu-timer: Call clock reset notifiers on forward jumps Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 13/15] mc146818rtc: Reset the periodic timer on load Paolo Bonzini
2015-06-19 7:45 ` [Qemu-devel] [PULL 14/15] exec: do not clamp accesses to MMIO regions Paolo Bonzini
2015-06-19 7:45 ` Paolo Bonzini [this message]
2015-06-19 10:19 ` [Qemu-devel] [PULL 00/15] Timer, virtio-scsi-test, build, memory changes for 2015-06-19 Peter Maydell
2015-06-19 15:34 ` Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1434699936-4433-16-git-send-email-pbonzini@redhat.com \
--to=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).