From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5l6o-0006Pf-2u for qemu-devel@nongnu.org; Fri, 11 Jul 2014 20:24:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X5l6k-00027R-2O for qemu-devel@nongnu.org; Fri, 11 Jul 2014 20:24:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13734) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X5l6j-00026j-Pn for qemu-devel@nongnu.org; Fri, 11 Jul 2014 20:24:05 -0400 Message-ID: <53C08020.3060202@redhat.com> Date: Fri, 11 Jul 2014 20:24:00 -0400 From: John Snow MIME-Version: 1.0 References: <1404213207-89115-1-git-send-email-reza.jelveh@tuhh.de> <20140701113612.GF4587@noname.str.redhat.com> In-Reply-To: <20140701113612.GF4587@noname.str.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH_v2] ahci.c: mask unused flags when reading size PRDT DBC List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Reza Jelveh On 07/01/2014 07:36 AM, Kevin Wolf wrote: > Am 01.07.2014 um 13:13 hat reza.jelveh@tuhh.de geschrieben: >> From: Reza Jelveh >> >> 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 >> --- >> This requires a custom ovmf image with sata controller for testing: >> >> http://reza.jelveh.me/assets/OVMF.fd.bz2 >> >> Signed-off-by: Reza Jelveh > Reviewed-by: Kevin Wolf > > 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