From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55524) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkS34-0001Hp-Oa for qemu-devel@nongnu.org; Tue, 21 Apr 2015 02:52:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YkS30-0001Vf-VO for qemu-devel@nongnu.org; Tue, 21 Apr 2015 02:52:46 -0400 Received: from mail-wg0-x22b.google.com ([2a00:1450:400c:c00::22b]:33999) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YkS30-0001VF-NM for qemu-devel@nongnu.org; Tue, 21 Apr 2015 02:52:42 -0400 Received: by wgso17 with SMTP id o17so202951756wgs.1 for ; Mon, 20 Apr 2015 23:52:42 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5535F3B4.20708@redhat.com> Date: Tue, 21 Apr 2015 08:52:36 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1429257573-7359-1-git-send-email-famz@redhat.com> <20150420175905-mutt-send-email-mst@redhat.com> <55354F0A.5080809@redhat.com> <20150420223113-mutt-send-email-mst@redhat.com> In-Reply-To: <20150420223113-mutt-send-email-mst@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/18] virtio-blk: Support "VIRTIO_CONFIG_S_NEEDS_RESET" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Fam Zheng , qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org, "Aneesh Kumar K.V" , Stefan Hajnoczi , Amit Shah On 20/04/2015 22:34, Michael S. Tsirkin wrote: > On Mon, Apr 20, 2015 at 09:10:02PM +0200, Paolo Bonzini wrote: >> >> >> On 20/04/2015 19:36, Michael S. Tsirkin wrote: >>> At the implementation level, there's one big issue you seem to have >>> missed: DMA to invalid memory addresses causes a crash in memory core. >>> I'm not sure whether it makes sense to recover from virtio core bugs >>> when we can't recover from device bugs. >> >> What do you mean exactly? DMA to invalid memory addresses causes >> address_space_map to return a "short read". >> >> Paolo > > I mean, first of all, a bunch of virtio_XXX_phys calls. > These eventually call qemu_get_ram_ptr, which internally calls > qemu_get_ram_block and ramblock_ptr. > Both abort on errors. address_space_translate and memory_access_size should ensure they don't. Paolo