From nobody Fri May 3 01:21:18 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=1; a=rsa-sha256; t=1584278681; cv=none; d=zohomail.com; s=zohoarc; b=QHpyF3yXdGOEjnAhrWUdWu4/aphGkxKfbS6jnrpJYC8gEsblCLzc6AdhD0lMzpVHjELBPvWwh57cl1royz52+Ik2VGIzRrwtp1QGBTniYF/7pO9gg6Aa2L9uA9aLzIBnyE5F5M4NQ6nJw8xXA7a2CrwiLl0V3YKG3dZzSo4MUBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584278681; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=J6ZiGQ4x1tHeR62jp28UqNAh6TGJQMKqqCyEp5Ljjbk=; b=IWWJviZg2luPQep5GaOICFscDaqxc9Bpu2btDxPa/kATpY8ss4NMYHImOeTrANRZagbCVO2Cb/ckvTVkDvTLHtDlKYOdhVMrXGFcsHfxtUssl7d6DcQQqMthJ0cvBszBbDlYfYf+6NDxUYAWbToE92XFQc2ZvUR/Q9xupg1+R3U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1584278681858786.074205012994; Sun, 15 Mar 2020 06:24:41 -0700 (PDT) Received: from localhost ([::1]:53896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jDTFw-0006CO-01 for importer@patchew.org; Sun, 15 Mar 2020 09:24:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42002) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jDTEF-0005mN-Gn for qemu-devel@nongnu.org; Sun, 15 Mar 2020 09:22:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jDTEE-0008Ne-6l for qemu-devel@nongnu.org; Sun, 15 Mar 2020 09:22:55 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:60478) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1jDTED-0008Dg-TJ for qemu-devel@nongnu.org; Sun, 15 Mar 2020 09:22:54 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02FDMfcx039179; Sun, 15 Mar 2020 13:22:41 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by userp2130.oracle.com with ESMTP id 2yrppqub28-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 15 Mar 2020 13:22:41 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 02FDMcgJ190368; Sun, 15 Mar 2020 13:22:38 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 2ys8tn3pd8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 15 Mar 2020 13:22:38 +0000 Received: from abhmp0014.oracle.com (abhmp0014.oracle.com [141.146.116.20]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 02FDMbev011865; Sun, 15 Mar 2020 13:22:37 GMT Received: from spark.ravello.local (/213.57.127.2) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 15 Mar 2020 06:22:37 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=corp-2020-01-29; bh=J6ZiGQ4x1tHeR62jp28UqNAh6TGJQMKqqCyEp5Ljjbk=; b=G8/Gw86yNA/M4mCbuhuFa7F0NDORdgnuLjkm2y7uxdPzSN/d1STqRy+thCV4qq2ZdJ2B l8hqeUls8+nLbqK3TN0V3pR/pk5gSkK4AXQ626L0tyRcdMv6c04iPv9VBij/Y2M+uSEs LHycgxOhqvWc+t/e4z5awvq+inTSKhfwSSoLaq90XTPshGWWHkD4eRsRqS2nfyQgehMy uVzzxzU+EKP2mA1+E8KhggYdvKNh34rh/7LrWFNea+thXQdd4hvsD4mo3ukvplSkKD35 n1sEr3dGn4vm2YgdTNqmfHCfX5xu85Fy8qLV5ktboZ5n2TEChebCDfsHBDKTzxXzgxsU nQ== From: Liran Alon To: qemu-devel@nongnu.org Subject: [PATCH] hw/scsi/vmw_pvscsi: Remove assertion for kick after reset Date: Sun, 15 Mar 2020 15:24:47 +0200 Message-Id: <20200315132447.113131-1-liran.alon@oracle.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9560 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 phishscore=0 mlxscore=0 malwarescore=0 suspectscore=1 mlxlogscore=999 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003150074 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9560 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 suspectscore=1 lowpriorityscore=0 phishscore=0 adultscore=0 clxscore=1011 impostorscore=0 priorityscore=1501 spamscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2003020000 definitions=main-2003150074 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 156.151.31.86 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: fam@euphon.net, pbonzini@redhat.com, dmitry.fleytman@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Elazar Leibovich When running Ubuntu 3.13.0-65-generic guest, QEMU sometimes crashes during guest ACPI reset. It crashes on assert(s->rings_info_valid) in pvscsi_process_io(). Analyzing the crash revealed that it happens when userspace issues a sync during a reboot syscall. Below are backtraces we gathered from the guests. Guest backtrace when issuing PVSCSI_CMD_ADAPTER_RESET: pci_device_shutdown device_shutdown init_pid_ns init_pid_ns kernel_power_off SYSC_reboot Guest backtrace when issuing PVSCSI_REG_OFFSET_KICK_RW_IO: scsi_done scsi_dispatch_cmd blk_add_timer scsi_request_fn elv_rb_add __blk_run_queue queue_unplugged blk_flush_plug_list blk_finish_plug ext4_writepages set_next_entity do_writepages __filemap_fdatawrite_range filemap_write_and_wait_range ext4_sync_file ext4_sync_file do_fsync sys_fsync Since QEMU pvscsi should imitate VMware pvscsi device emulation, we decided to imitate VMware's behavior in this case. To check VMware behavior, we wrote a kernel module that issues a reset to the pvscsi device and then issues a kick. We ran it on VMware ESXi 6.5 and it seems that it simply ignores the kick. Hence, we decided to ignore the kick as well. Signed-off-by: Elazar Leibovich Signed-off-by: Liran Alon --- hw/scsi/vmw_pvscsi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index c91352cf46de..b2bb80449bba 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -719,7 +719,12 @@ pvscsi_process_io(PVSCSIState *s) PVSCSIRingReqDesc descr; hwaddr next_descr_pa; =20 - assert(s->rings_info_valid); + if (!s->rings_info_valid) { + qemu_log("WARNING: PVSCSI: Cannot process I/O when " + "rings are not valid.\n"); + return; + } + while ((next_descr_pa =3D pvscsi_ring_pop_req_descr(&s->rings)) !=3D 0= ) { =20 /* Only read after production index verification */ --=20 2.20.1