From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from goliath.siemens.de (goliath.siemens.de [192.35.17.28]) by dpdk.org (Postfix) with ESMTP id BB2255698 for ; Sat, 8 Aug 2015 08:37:51 +0200 (CEST) Received: from mail2.siemens.de (mail2.siemens.de [139.25.208.11]) by goliath.siemens.de (8.15.1/8.15.1) with ESMTPS id t786boDF011948 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 8 Aug 2015 08:37:51 +0200 Received: from md1f2u6c.ww002.siemens.net ([139.22.125.95]) by mail2.siemens.de (8.15.1/8.15.1) with SMTP id t786boFh025879; Sat, 8 Aug 2015 08:37:50 +0200 To: "Ouyang, Changchun" , "dev@dpdk.org" , "Xie, Huawei" References: <55C4BAE6.6040408@siemens.com> From: Jan Kiszka Message-ID: <55C5A3BD.7080802@siemens.com> Date: Sat, 8 Aug 2015 08:37:49 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] vhost: Problem RESET_OWNER processing X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Aug 2015 06:37:52 -0000 On 2015-08-08 02:04, Ouyang, Changchun wrote: > > >> -----Original Message----- >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jan Kiszka >> Sent: Friday, August 7, 2015 10:04 PM >> To: dev@dpdk.org; Xie, Huawei >> Subject: [dpdk-dev] vhost: Problem RESET_OWNER processing >> >> Hi, >> >> I was wondering if I'm alone with this: the vhost-switch example crashes on >> client disconnects if the client send a RESET_OWNER message. That's at least >> the case for QEMU and vhost-user mode (I suppose vhost-cuse is legacy > > What's your qemu version? git head, which includes 2.4-rc2. VHOST_USER_RESET_OWNER dates back to QEMU commit 294ce717e, and that is after 2.3. Before that commit, QEMU was happily allowing its vhost servers to corrupt guest memory on reboot or while a virtio device was otherwise deactivated. Jan > >> now). And it really ruins the party when playing with this because every VM >> shutdown or guest reboot triggers. >> >> I was looking deeper in the librte_vhost, and I found that reset_owner() is >> doing cleanup_device and then init_device - but without letting the user >> know. So vhost-switch crashed in its main loop over continuing to use the >> device, namely calling rte_vhost_dequeue_burst (with >> dev->virtqueue[]->avail == NULL). >> >> Do we simply need another hook in the vhost API, similar to the destruction >> notification? >> >> Jan >> >> -- >> Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate >> Competence Center Embedded Linux -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux