qemu-irix/hw/i386
P J P b47809c6b3 i386: avoid null pointer dereference
Hello,

A null pointer dereference issue was reported by Mr Ling Liu, CC'd here. It
occurs while doing I/O port write operations via hmp interface. In that,
'current_cpu' remains null as it is not called from cpu_exec loop, which
results in the said issue.

Below is a proposed (tested)patch to fix this issue; Does it look okay?

===
From ae88a4947fab9a148cd794f8ad2d812e7f5a1d0f Mon Sep 17 00:00:00 2001
From: Prasad J Pandit <pjp@fedoraproject.org>
Date: Fri, 18 Dec 2015 11:16:07 +0530
Subject: [PATCH] i386: avoid null pointer dereference

When I/O port write operation is called from hmp interface,
'current_cpu' remains null, as it is not called from cpu_exec()
loop. This leads to a null pointer dereference in vapic_write
routine. Add check to avoid it.

Reported-by: Ling Liu <liuling-it@360.cn>
Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
Message-Id: <alpine.LFD.2.20.1512181129320.9805@wniryva>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: P J P <ppandit@redhat.com>
(cherry picked from commit 4c1396cb57)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
2016-03-22 17:39:27 -05:00
..
kvm kvmclock: add a new function to update env->tsc. 2015-11-05 11:28:10 +01:00
xen xen-platform: Replace assert() with appropriate error reporting 2015-10-26 11:32:24 +00:00
Makefile.objs hw/pci-assign: split pci-assign.c 2015-09-10 12:04:27 +00:00
acpi-build.c acpi: avoid potential uninitialized access to cpu_hp_io_base 2015-08-13 14:08:30 +03:00
acpi-build.h i386: ACPI table generation code from seabios 2013-10-14 17:48:57 +03:00
acpi-dsdt-cpu-hotplug.dsl pc: acpi-build: create CPU hotplug IO region dynamically 2015-02-26 13:04:17 +01:00
acpi-dsdt-dbug.dsl i386: add ACPI table files from seabios 2013-10-14 17:48:51 +03:00
acpi-dsdt-hpet.dsl ACPI: Remove commented-out code from HPET._CRS 2014-02-10 11:09:33 +02:00
acpi-dsdt-isa.dsl pc: acpi-build: drop template patching and create Device(SMC) dynamically 2015-03-01 12:33:22 +01:00
acpi-dsdt-mem-hotplug.dsl acpi: add hardware implementation for memory hot unplug 2015-04-27 21:09:07 +02:00
acpi-dsdt.dsl make: fix where dependency *.d are stored. 2015-08-13 14:08:24 +03:00
acpi-dsdt.hex.generated acpi: update generated files 2015-03-04 16:05:32 +01:00
intel_iommu.c intel_iommu: Add support for translation for devices behind bridges 2015-10-18 10:05:43 +03:00
intel_iommu_internal.h intel-iommu: add IOTLB using hash table 2014-08-28 23:10:22 +02:00
kvmvapic.c i386: avoid null pointer dereference 2016-03-22 17:39:27 -05:00
multiboot.c i386: Rename ELF_MACHINE to be x86 specific 2015-09-25 12:04:44 +02:00
multiboot.h
pc.c error: More error_setg() usage 2015-11-11 18:56:26 +01:00
pc_piix.c pc: Don't set hw_version on pc-*-2.5 2015-11-25 13:42:37 +02:00
pc_q35.c pc: Don't set hw_version on pc-*-2.5 2015-11-25 13:42:37 +02:00
pc_sysfw.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
pci-assign-load-rom.c pci-assign: do not test path with access() before opening 2015-11-06 15:42:38 +03:00
q35-acpi-dsdt.dsl make: fix where dependency *.d are stored. 2015-08-13 14:08:24 +03:00
q35-acpi-dsdt.hex.generated acpi: update generated files 2015-03-04 16:05:32 +01:00