From 63d030998be5cdadc63e3d4bd5648761e47af3a9 Mon Sep 17 00:00:00 2001 From: Michael S. Tsirkin <mst@redhat.com> Date: Thu, 21 May 2009 17:08:58 -0700 Subject: [PATCH 20/25] device assignment: move memset to after mmap failure check By the time we've done a memset, it's too late to check the pointer for MAP_FAILED value. Let's compare to MAP_FAILED first. Signed-off-by: Michael S. Tsikirn <mst@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com> (cherry picked from commit qemu-kvm: c502514e96f5e1bd8d73d3dd61e3f32df9e0ea06) Signed-off-by: Chris Wright <chrisw@redhat.com> Bugzilla: 498085 Message-Id: <1242950943-30180-21-git-send-email-chrisw@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> RH-Upstream-status: applied Acked-by: Juan Quintela <quintela@redhat.com> Acked-by: Marcelo Tosatti <mtosatti@redhat.com> Acked-by: Don Dutile <ddutile@redhat.com> --- qemu/hw/device-assignment.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/qemu/hw/device-assignment.c b/qemu/hw/device-assignment.c index 5476daf..d1749bb 100644 --- a/qemu/hw/device-assignment.c +++ b/qemu/hw/device-assignment.c @@ -1087,12 +1087,12 @@ static int assigned_dev_register_msix_mmio(AssignedDevice *dev) dev->msix_table_page = mmap(NULL, 0x1000, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_PRIVATE, 0, 0); - memset(dev->msix_table_page, 0, 0x1000); if (dev->msix_table_page == MAP_FAILED) { fprintf(stderr, "fail allocate msix_table_page! %s\n", strerror(errno)); return -EFAULT; } + memset(dev->msix_table_page, 0, 0x1000); dev->mmio_index = cpu_register_io_memory(0, msix_mmio_read, msix_mmio_write, dev); return 0; -- 1.6.3.rc4.29.g8146