From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36906) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1wZA-00014z-KB for qemu-devel@nongnu.org; Tue, 01 Jul 2014 07:49:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X1wZ3-0001vj-QL for qemu-devel@nongnu.org; Tue, 01 Jul 2014 07:49:40 -0400 Received: from cantor2.suse.de ([195.135.220.15]:42404 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X1wZ3-0001vQ-JG for qemu-devel@nongnu.org; Tue, 01 Jul 2014 07:49:33 -0400 Message-ID: <53B2A04B.70406@suse.de> Date: Tue, 01 Jul 2014 13:49:31 +0200 From: Alexander Graf 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: Kevin Wolf , reza.jelveh@tuhh.de Cc: pbonzini@redhat.com, jsnow@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com 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 >> >> 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 could just remove the lowest bit in the mask, no? ;) Alex