From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46025) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDx3d-0007IT-WA for qemu-devel@nongnu.org; Wed, 21 Jan 2015 10:19:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YDx3a-0002uC-N8 for qemu-devel@nongnu.org; Wed, 21 Jan 2015 10:19:01 -0500 Received: from mail-we0-x232.google.com ([2a00:1450:400c:c03::232]:65056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YDx3a-0002tp-Hb for qemu-devel@nongnu.org; Wed, 21 Jan 2015 10:18:58 -0500 Received: by mail-we0-f178.google.com with SMTP id p10so43673108wes.9 for ; Wed, 21 Jan 2015 07:18:57 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 21 Jan 2015 16:18:52 +0100 Message-Id: <1421853532-11976-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH] exec: fix madvise of NULL pointer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: armbru@redhat.com Coverity flags this as "dereference after null check". Not quite a dereference, since it will just EFAULT, but still nice to fix. Signed-off-by: Paolo Bonzini --- exec.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/exec.c b/exec.c index 081818e..bfbfd23 100644 --- a/exec.c +++ b/exec.c @@ -1402,12 +1402,13 @@ static ram_addr_t ram_block_add(RAMBlock *new_block, Error **errp) cpu_physical_memory_set_dirty_range(new_block->offset, new_block->used_length); - qemu_ram_setup_dump(new_block->host, new_block->max_length); - qemu_madvise(new_block->host, new_block->max_length, QEMU_MADV_HUGEPAGE); - qemu_madvise(new_block->host, new_block->max_length, QEMU_MADV_DONTFORK); - - if (kvm_enabled()) { - kvm_setup_guest_memory(new_block->host, new_block->max_length); + if (new_block->host) { + qemu_ram_setup_dump(new_block->host, new_block->max_length); + qemu_madvise(new_block->host, new_block->max_length, QEMU_MADV_HUGEPAGE); + qemu_madvise(new_block->host, new_block->max_length, QEMU_MADV_DONTFORK); + if (kvm_enabled()) { + kvm_setup_guest_memory(new_block->host, new_block->max_length); + } } return new_block->offset; -- 1.8.3.1