[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 21/41] exec: use qemu_ram_ptr_length to access guest
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 21/41] exec: use qemu_ram_ptr_length to access guest ram |
Date: |
Thu, 13 Jul 2017 16:24:14 +0200 |
From: Prasad J Pandit <address@hidden>
When accessing guest's ram block during DMA operation, use
'qemu_ram_ptr_length' to get ram block pointer. It ensures
that DMA operation of given length is possible; And avoids
any OOB memory access situations.
Reported-by: Alex <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
exec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/exec.c b/exec.c
index a083ff8..ad103ce 100644
--- a/exec.c
+++ b/exec.c
@@ -2929,7 +2929,7 @@ static MemTxResult
address_space_write_continue(AddressSpace *as, hwaddr addr,
}
} else {
/* RAM case */
- ptr = qemu_map_ram_ptr(mr->ram_block, addr1);
+ ptr = qemu_ram_ptr_length(mr->ram_block, addr1, &l);
memcpy(ptr, buf, l);
invalidate_and_set_dirty(mr, addr1, l);
}
@@ -3020,7 +3020,7 @@ MemTxResult address_space_read_continue(AddressSpace *as,
hwaddr addr,
}
} else {
/* RAM case */
- ptr = qemu_map_ram_ptr(mr->ram_block, addr1);
+ ptr = qemu_ram_ptr_length(mr->ram_block, addr1, &l);
memcpy(buf, ptr, l);
}
--
1.8.3.1
- [Qemu-devel] [PULL 05/41] MAINTAINERS: update TCI entry, (continued)
- [Qemu-devel] [PULL 05/41] MAINTAINERS: update TCI entry, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 08/41] char: move QemuOpts->ChardevBackend translation to a separate func, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 10/41] char: chardevice hotswap, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 13/41] test-char: destroy chardev-udp after test, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 12/41] char: avoid chardevice direct access, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 16/41] test-char: add hotswap test, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 14/41] test-char: split char_udp_test, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 17/41] hmp: add hmp analogue for qmp-chardev-change, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 15/41] test-char: split char_file_test, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 19/41] serial: move TIOCM update to a separate function, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 21/41] exec: use qemu_ram_ptr_length to access guest ram,
Paolo Bonzini <=
- [Qemu-devel] [PULL 23/41] mttcg/i386: Patch instruction using async_safe_* framework, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 27/41] gdbstub: don't fail on vCont; C04:0; c packets, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 25/41] gdbstub: rename cpu_index -> cpu_gdb_index, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 28/41] chardev: fix parallel device can't be reconnect, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 34/41] nbd: Simplify trace of client flags in negotiation, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 35/41] nbd: Refactor reply to NBD_OPT_EXPORT_NAME, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 36/41] nbd: Implement NBD_OPT_GO on server, Paolo Bonzini, 2017/07/13
- [Qemu-devel] [PULL 41/41] translate-all: remove redundant !tcg_enabled check in dump_exec_info, Paolo Bonzini, 2017/07/13