diff options
| author | Alexander Graf <agraf@suse.de> | 2012-05-10 22:40:10 +0000 |
|---|---|---|
| committer | Blue Swirl <blauwirbel@gmail.com> | 2012-05-19 15:49:40 +0000 |
| commit | 77a8f1a5125457d845fac6aa0c2e1e2681d94f07 (patch) | |
| tree | 48ebe6991720d75db8c9b952dc4ed474ef586acd /hw/virtio-net.c | |
| parent | 4636b9d1466adde156d469c92d6e7cae7311b81e (diff) | |
| download | focaccia-qemu-77a8f1a5125457d845fac6aa0c2e1e2681d94f07.tar.gz focaccia-qemu-77a8f1a5125457d845fac6aa0c2e1e2681d94f07.zip | |
linux-user: Fix stale tbs after mmap
If we execute linux-user code that does the following: * A = mmap() * execute code in A * munmap(A) * B = mmap(), but mmap returns the same address as A * execute code in B we end up executing a stale cached tb that contains translated code from A, while we want new code from B. This patch adds a TB flush for mmap'ed regions, before we return them, avoiding the whole issue. It also adds a flush for munmap, so that we don't execute stale TBs instead of getting a segfault. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/virtio-net.c')
0 files changed, 0 insertions, 0 deletions