From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNiAE-00076H-Ve for qemu-devel@nongnu.org; Mon, 25 Jan 2016 09:30:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNiAA-0003rv-VR for qemu-devel@nongnu.org; Mon, 25 Jan 2016 09:30:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:57872) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNiAA-0003rp-PZ for qemu-devel@nongnu.org; Mon, 25 Jan 2016 09:30:38 -0500 From: P J P Date: Mon, 25 Jan 2016 19:59:50 +0530 Message-Id: <1453732190-13416-1-git-send-email-ppandit@redhat.com> Subject: [Qemu-devel] [PATCH for v2.4.1] exec: fix a glitch in checking dma r/w access List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: Peter Maydell , Paolo Bonzini , Prasad J Pandit , Donghai Zdh From: Prasad J Pandit While checking r/w access in 'memory_access_is_direct' routine a glitch in the expression leads to segmentation fault while performing dma read operation. Reported-by: Donghai Zdh Signed-off-by: Prasad J Pandit --- exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exec.c b/exec.c index 0a4a0c5..98d97d3 100644 --- a/exec.c +++ b/exec.c @@ -375,7 +375,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, hwaddr addr, hwaddr *x static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write) { if (memory_region_is_ram(mr)) { - return !(is_write && mr->readonly); + return (is_write && !mr->readonly); } if (memory_region_is_romd(mr)) { return !is_write; -- 2.5.0