qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH_v2] ahci.c: mask unused flags when reading size


From: John Snow
Subject: Re: [Qemu-devel] [PATCH_v2] ahci.c: mask unused flags when reading size PRDT DBC
Date: Fri, 11 Jul 2014 20:24:00 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0


On 07/01/2014 07:36 AM, Kevin Wolf wrote:
Am 01.07.2014 um 13:13 hat address@hidden geschrieben:
From: Reza Jelveh <address@hidden>

The data byte count(DBC) read from the description information is defined for
bits 21:00. Bits 30:22 are reserved and bit 31 is the Interrupt on Completion
(I) flag.

Completion interrupts are triggered after every transaction instead of on
I-flag in QEMU. tbl_entry_size is a signed integer and improperly reading the
DBC leads to a negative offset that causes sglist allocation to fail.

Signed-off-by: Reza Jelveh <address@hidden>
---
This requires a custom ovmf image with sata controller for testing:

http://reza.jelveh.me/assets/OVMF.fd.bz2

Signed-off-by: Reza Jelveh <address@hidden>
Reviewed-by: Kevin Wolf <address@hidden>

The spec also seems to require an even byte count, which we don't seem
to check. Do we want to add this? (In a separate patch, of course.)

We'll also want a qtest case to verify the fix and for regression
testing. John?

And finally, please don't forget to CC the block maintainers (Stefan and
me) for any AHCI patches.

Kevin

The test_identify case I submitted a patch for ( http://lists.gnu.org/archive/html/qemu-devel/2014-07/msg01241.html ) does attempt to use the interrupt bit, and as such, will fail without Reza's patch.

The current version of the test only warns when it doesn't see the interrupt posted, though, but that's not relevant to testing this particular fix.

--John



reply via email to

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