From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: Reza Jelveh <reza.jelveh@gmail.com>
Subject: Re: [Qemu-devel] [PATCH_v2] ahci.c: mask unused flags when reading size PRDT DBC
Date: Tue, 01 Jul 2014 10:47:53 -0400 [thread overview]
Message-ID: <53B2CA19.2060101@redhat.com> (raw)
In-Reply-To: <53B2A04B.70406@suse.de>
On 07/01/2014 07:49 AM, Alexander Graf wrote:
>
> On 01.07.14 13:36, Kevin Wolf wrote:
>> Am 01.07.2014 um 13:13 hat reza.jelveh@tuhh.de geschrieben:
>>> From: Reza Jelveh <reza.jelveh@tuhh.de>
>>>
>>> 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 <reza.jelveh@tuhh.de>
>>> ---
>>> This requires a custom ovmf image with sata controller for testing:
>>>
>>> http://reza.jelveh.me/assets/OVMF.fd.bz2
>>>
>>> Signed-off-by: Reza Jelveh <reza.jelveh@tuhh.de>
>> Reviewed-by: Kevin Wolf <kwolf@redhat.com>
>>
>> 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 could just remove the lowest bit in the mask, no? ;)
>
>
> Alex
>
Reviewed-by: John Snow <jsnow@redhat.com>
Taking a look at the spec, AHCI 1.3 sec 4.2.3.3 p. 40; a value of 0x00
implies one byte, and 0x01 implies two bytes. Masking off the one bit
would probably lead to an off-by-one somewhere. The spec does state that
it requires the 0th bit to be set, so in a separate patch we should
check to make sure, but the mask as-is is appropriate.
--John
next prev parent reply other threads:[~2014-07-01 14:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-01 11:13 [Qemu-devel] [PATCH_v2] ahci.c: mask unused flags when reading size PRDT DBC reza.jelveh
2014-07-01 11:19 ` Alexander Graf
2014-07-01 11:36 ` Kevin Wolf
2014-07-01 11:49 ` Alexander Graf
2014-07-01 14:47 ` John Snow [this message]
2014-07-12 0:24 ` John Snow
2014-07-02 8:17 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53B2CA19.2060101@redhat.com \
--to=jsnow@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=reza.jelveh@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.