qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH master/stable-1.0] pci: fix corrupted pci conf i


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH master/stable-1.0] pci: fix corrupted pci conf index register by unaligned write
Date: Wed, 4 Jan 2012 16:34:42 +0100

On 04.01.2012, at 15:47, Michael S. Tsirkin wrote:

> On Wed, Jan 04, 2012 at 04:28:42PM +0200, Avi Kivity wrote:
>> Commit d0ed8076cbdc261 converted the PCI config access to the memory
>> API, but also inadvertantly changed it to accept unaligned writes,
>> and corrupt the index register in the process.  This causes a regression
>> booting NetBSD.
>> 
>> Fix by ignoring unaligned or non-dword writes.
>> 
>> https://bugs.launchpad.net/qemu/+bug/897771
>> 
>> Reported-by: Andreas Gustafsson <address@hidden>
>> Signed-off-by: Avi Kivity <address@hidden>
> 
> Acked-by: Michael S. Tsirkin <address@hidden>

CC'ing qemu-stable.


Alex

> 
>> ---
>> 
>> hw/pci_host.c |    3 +++
>> 1 files changed, 3 insertions(+), 0 deletions(-)
>> 
>> diff --git a/hw/pci_host.c b/hw/pci_host.c
>> index 44c6c20..8041778 100644
>> --- a/hw/pci_host.c
>> +++ b/hw/pci_host.c
>> @@ -101,6 +101,9 @@ static void pci_host_config_write(void *opaque, 
>> target_phys_addr_t addr,
>> 
>>     PCI_DPRINTF("%s addr " TARGET_FMT_plx " len %d val %"PRIx64"\n",
>>                 __func__, addr, len, val);
>> +    if (addr != 0 || len != 4) {
>> +        return;
>> +    }
>>     s->config_reg = val;
>> }
>> 
>> -- 
>> 1.7.7.1
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]