From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371747; cv=none; d=zohomail.com; s=zohoarc; b=M8tdFYJGKbY5h9YJoDjTgEmPjpC0KEa58oqcIq77tEYJuykMObHHCq7F6V1rxffE0TXKminh2Ikm07yW5tfrbDLTcfxF2foSU7oa6NISQ+SLsDksUmQ1mo8kAxdJXdEE40kGYZmyHr6bREPicX4cuNp1UmD+H0FBdM4/cKH6QQU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371747; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fq3LoTXXybnbVOI/Fia1jToGdrSHqpKtobmIdURPVRg=; b=Da00M3wy3AkYaeFS+xIcvG5iCLhK0BE1JVRQXZp8+rUuWldNhvOYbu6hu/vlTCsWweEkB8uzZJK3HXF96ypAv9wb1vai+nu1uCeZe95gwEcCtWgaa7wtOK+pJ9IKQt36E9T80raqoNk0MWI4MtdqckhPqgNjiUFfwaL/UZAvHuA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371747597203.0141694096351; Mon, 20 Apr 2020 01:35:47 -0700 (PDT) Received: from localhost ([::1]:59652 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRu6-0008Ci-Ax for importer@patchew.org; Mon, 20 Apr 2020 04:35:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56466 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrB-0002sy-6p for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006v0-TT for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:36199 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006sq-G9 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-43-FpQUGFKPNRqM2Zk1oV7LHg-1; Mon, 20 Apr 2020 04:32:39 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7616D107ACC4; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2AF3927BDA; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 9F34311358BD; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fq3LoTXXybnbVOI/Fia1jToGdrSHqpKtobmIdURPVRg=; b=H5k6OtudWD+Jc2fVk02+pydwskTpK4VfX83r0XSY4ZFjQycguNfyXrtVatflMJdbWt19OL +wUhPuffncq2PvM08jp/YRJZBxdQitq0dWE+aCI2yO66y5zH6t8UFqbiX6+Ak6wkwKLnea Wid7qW0mmVOXYSm5cS6SOTCUx8t2idE= X-MC-Unique: FpQUGFKPNRqM2Zk1oV7LHg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 01/11] cryptodev: Fix cryptodev_builtin_cleanup() error API violation Date: Mon, 20 Apr 2020 10:32:26 +0200 Message-Id: <20200420083236.19309-2-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 03:29:13 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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: Gonglei Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. cryptodev_builtin_cleanup() passes @errp to cryptodev_builtin_sym_close_session() in a loop. Harmless, because cryptodev_builtin_sym_close_session() can't actually fail. Fix it anyway. Cc: Gonglei Signed-off-by: Markus Armbruster --- backends/cryptodev-builtin.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/backends/cryptodev-builtin.c b/backends/cryptodev-builtin.c index c8ae3b9742..14316333fe 100644 --- a/backends/cryptodev-builtin.c +++ b/backends/cryptodev-builtin.c @@ -282,12 +282,7 @@ static int cryptodev_builtin_sym_close_session( CryptoDevBackendBuiltin *builtin =3D CRYPTODEV_BACKEND_BUILTIN(backend); =20 - if (session_id >=3D MAX_NUM_SESSIONS || - builtin->sessions[session_id] =3D=3D NULL) { - error_setg(errp, "Cannot find a valid session id: %" PRIu64 "", - session_id); - return -1; - } + assert(session_id < MAX_NUM_SESSIONS && builtin->sessions[session_id]); =20 qcrypto_cipher_free(builtin->sessions[session_id]->cipher); g_free(builtin->sessions[session_id]); @@ -356,8 +351,7 @@ static void cryptodev_builtin_cleanup( =20 for (i =3D 0; i < MAX_NUM_SESSIONS; i++) { if (builtin->sessions[i] !=3D NULL) { - cryptodev_builtin_sym_close_session( - backend, i, 0, errp); + cryptodev_builtin_sym_close_session(backend, i, 0, &error_abor= t); } } =20 --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371952; cv=none; d=zohomail.com; s=zohoarc; b=dNk0KYEX5TceBxh6iSJltFOGn/wSJXhFTMPlQmoq60nc636ijd7feCuwsNK5M6CdiwL+RplORnQjQekQLYj2PDPT1IJ7ov0QqO7WpUxthdeBt2fUjLkQj2J4UL7vs3wBy5WfeSZxypbO1QGLwym99R1eAZUJ+d32UQSFzn8RsrI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371952; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8IwJuUhdu7xVAnYSveDtWGbyVZ74+1IB1yT93ItMesU=; b=PW7QLGpBni9oQs1hOHkb5LZyIoYJx6WzrKaJoSUqwOETzIEwCpKKgECXRFW8aM8K7UPi0l7Es4v0iDQzVx+oX3cG/KRnSjMdf7L/hfpRxELUiJk85wsJgd6uWLjP0uqVZsMoXW6zD9ypMCUSnKTyVe0f89Kc2qVI7tCI8aNseeo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371952036716.5933967057897; Mon, 20 Apr 2020 01:39:12 -0700 (PDT) Received: from localhost ([::1]:59700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRxO-0005cR-EX for importer@patchew.org; Mon, 20 Apr 2020 04:39:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56484 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrC-0002tj-EO for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:46 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRrA-0006wX-Kl for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:46 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:54063 helo=us-smtp-delivery-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRrA-0006ue-7R for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-297-DwqgQ15fM1WjDn9fWgMn0Q-1; Mon, 20 Apr 2020 04:32:41 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 02FA0DB21 for ; Mon, 20 Apr 2020 08:32:41 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 424995D9CD; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A29ED11358BE; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8IwJuUhdu7xVAnYSveDtWGbyVZ74+1IB1yT93ItMesU=; b=cW7hUOFznlHN6rY7Znw/lNlR+Z2iSCpsYBrE4o90YNa+6JaWIJngfqzABycHfduJI7ea6c gW3pqXDlf4Ie2fBGT31T8iZQybC/3H9Li0PcYmukIoRnM0+eGRhVzlEI/COz8q4sMbcagg 8FyRAqxCbuIJavVHET9l4blNaXhmv2o= X-MC-Unique: DwqgQ15fM1WjDn9fWgMn0Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 02/11] block/file-posix: Fix check_cache_dropped() error handling Date: Mon, 20 Apr 2020 10:32:27 +0200 Message-Id: <20200420083236.19309-3-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 01:47:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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: Stefan Hajnoczi Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. check_cache_dropped() calls error_setg() in a loop. It fails to break the loop in one instance. If a subsequent iteration error_setg()s again, it trips error_setv()'s assertion. Fix it to break the loop. Fixes: 31be8a2a97ecba7d31a82932286489cac318e9e9 Cc: Stefan Hajnoczi Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/file-posix.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/block/file-posix.c b/block/file-posix.c index 7e19bbff5f..094e3b0212 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -2691,10 +2691,13 @@ static void check_cache_dropped(BlockDriverState *b= s, Error **errp) vec_end =3D DIV_ROUND_UP(length, page_size); for (i =3D 0; i < vec_end; i++) { if (vec[i] & 0x1) { - error_setg(errp, "page cache still in use!"); break; } } + if (i < vec_end) { + error_setg(errp, "page cache still in use!"); + break; + } } =20 if (window) { --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371646; cv=none; d=zohomail.com; s=zohoarc; b=hxTxMDidbAzFC2k8o5JXWEGwMJTvJKUnAldCFi/qVGyHg8jxeWnDHCa/GX8P2LuhF3CbDPzW4u0aTwh7r6w3Gpxjt1ItnIagN61/KIWPYgMlU0ilw7Z7rehDGpq+I/pcq55clUOJz2gTm4lSxxoaNZjQXcDWENgsj1kQrpLZZTc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371646; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fidAYO+9hszl7oApQssrrQ9tS5TjJYShG/nQrI4K8HU=; b=RuvA3L0UVq42m2kYFXRnrbtPEMTGvRV2v+dMQbmNT84ax7xOAAIDj+FWHbyC4hI9+GewE7CGaZwwQnLQVQTRjyKMWgb/xNRqIvI3jrUPtKT2nKFUaKKg0/EoLONlUP4+0FhaH1+mn/X5C3vvrDWk7+Rutg6u1Y9drAnaHAmuMos= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371646759555.5820759110587; Mon, 20 Apr 2020 01:34:06 -0700 (PDT) Received: from localhost ([::1]:59616 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRsT-0004k1-Cb for importer@patchew.org; Mon, 20 Apr 2020 04:34:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56440 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrA-0002sr-HL for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006tI-9X for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:36321 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr8-0006rb-O7 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:42 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-433-CWf20Rd8PYKHZhVUN4Knrg-1; Mon, 20 Apr 2020 04:32:39 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 77854DB20 for ; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 464EF60BE1; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A60F511358BF; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371560; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fidAYO+9hszl7oApQssrrQ9tS5TjJYShG/nQrI4K8HU=; b=dWg61J3v5x5QA99KFuhwXaykFc1vWBBQYlYNUP2O44VDYIEinA+hHCU/zaJ3p3mJxd/FrN y+b7xsDDn3MFeTojvkElOBycRwJwQ9YTOWSCoxP0iX9sugtB5yse+6N0bBglQ+rEev3aM9 zQkJvYyEitX7NE5nUfpUPTN6avrMY1E= X-MC-Unique: CWf20Rd8PYKHZhVUN4Knrg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 03/11] cpus: Fix configure_icount() error API violation Date: Mon, 20 Apr 2020 10:32:28 +0200 Message-Id: <20200420083236.19309-4-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 03:29:13 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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: Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. configure_icount() is wrong that way. Harmless, because its @errp is always &error_abort or &error_fatal. Just as wrong (and just as harmless): when it fails, it can still update global state. Fix all that. Cc: Paolo Bonzini Signed-off-by: Markus Armbruster --- cpus.c | 51 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/cpus.c b/cpus.c index ef441bdf62..1b542b37f9 100644 --- a/cpus.c +++ b/cpus.c @@ -797,40 +797,49 @@ void cpu_ticks_init(void) =20 void configure_icount(QemuOpts *opts, Error **errp) { - const char *option; + const char *option =3D qemu_opt_get(opts, "shift"); + bool sleep =3D qemu_opt_get_bool(opts, "sleep", true); + bool align =3D qemu_opt_get_bool(opts, "align", false); + long time_shift =3D -1; char *rem_str =3D NULL; =20 - option =3D qemu_opt_get(opts, "shift"); - if (!option) { - if (qemu_opt_get(opts, "align") !=3D NULL) { - error_setg(errp, "Please specify shift option when using align= "); - } + if (!option && qemu_opt_get(opts, "align")) { + error_setg(errp, "Please specify shift option when using align"); return; } =20 - icount_sleep =3D qemu_opt_get_bool(opts, "sleep", true); + if (align && !sleep) { + error_setg(errp, "align=3Don and sleep=3Doff are incompatible"); + return; + } + + if (strcmp(option, "auto") !=3D 0) { + errno =3D 0; + time_shift =3D strtol(option, &rem_str, 0); + if (errno !=3D 0 || *rem_str !=3D '\0' || !strlen(option)) { + error_setg(errp, "icount: Invalid shift value"); + return; + } + } else if (icount_align_option) { + error_setg(errp, "shift=3Dauto and align=3Don are incompatible"); + return; + } else if (!icount_sleep) { + error_setg(errp, "shift=3Dauto and sleep=3Doff are incompatible"); + return; + } + + icount_sleep =3D sleep; if (icount_sleep) { timers_state.icount_warp_timer =3D timer_new_ns(QEMU_CLOCK_VIRTUAL= _RT, icount_timer_cb, NULL); } =20 - icount_align_option =3D qemu_opt_get_bool(opts, "align", false); + icount_align_option =3D align; =20 - if (icount_align_option && !icount_sleep) { - error_setg(errp, "align=3Don and sleep=3Doff are incompatible"); - } - if (strcmp(option, "auto") !=3D 0) { - errno =3D 0; - timers_state.icount_time_shift =3D strtol(option, &rem_str, 0); - if (errno !=3D 0 || *rem_str !=3D '\0' || !strlen(option)) { - error_setg(errp, "icount: Invalid shift value"); - } + if (time_shift >=3D 0) { + timers_state.icount_time_shift =3D time_shift; use_icount =3D 1; return; - } else if (icount_align_option) { - error_setg(errp, "shift=3Dauto and align=3Don are incompatible"); - } else if (!icount_sleep) { - error_setg(errp, "shift=3Dauto and sleep=3Doff are incompatible"); } =20 use_icount =3D 2; --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371754; cv=none; d=zohomail.com; s=zohoarc; b=OTM//7/yM+HfRzJk6cdaI0Z9V8ZE5ppARdfIJ1enwhhaa67gHMtbtwTILGsLgSUFbx36Mt/oxI+fxgIQvGXMb+yn0zpQrs/1H8mLlHhYp8vNiijjiRwrhAt1f3R0bhQaodvmx8bv/xszNbu2CKVQs04pDvk66LiqTAHO2Rb7Tpc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371754; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VfYN+TU+3RtiZ4Pa1zd3jj/XHqO17tt2OP3Q91CNoWs=; b=fGdj/vFMaIiJpp2vcCnhvUMtzN61xZkRtVraxSC50JvWMWomAQX1W5b3eS+XxmUey6n8p0MG5hrw43E24DQyKnKvPeM9RnjrbUSSXFe7s0eiSOPQRszSdCJ/8Rm9aTlGp7QrmKmj52kXv1wD74MtK6ui/aIcKW57xIFFMhHFeKc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371754862434.22404305214593; Mon, 20 Apr 2020 01:35:54 -0700 (PDT) Received: from localhost ([::1]:59654 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRuC-0008N0-Ig for importer@patchew.org; Mon, 20 Apr 2020 04:35:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56450 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrA-0002ss-K5 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006u8-IY for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:39918 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006rn-5F for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-20-WkZyR802NJyUqnMCV0zhEQ-1; Mon, 20 Apr 2020 04:32:39 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 74AEF800D53 for ; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 425F810027A8; Mon, 20 Apr 2020 08:32:38 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A9A2A11358C0; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VfYN+TU+3RtiZ4Pa1zd3jj/XHqO17tt2OP3Q91CNoWs=; b=X6BIlsUreKhnusP6qQuVW9V/eEZoodqW/j4ddQvmO4PF/MQrtJLrxuohvv/Ig2iC6xfXQu 48T+Koa90QqnWxtbg6PvshvVZeOtUMOlNmuRN2pEBnZ6J3l19Bt0y5iYw1xnGxM4gp4qUY fYJeIVeX7tyzdjESAzt3P/vuRxid/7Q= X-MC-Unique: WkZyR802NJyUqnMCV0zhEQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 04/11] cpus: Proper range-checking for -icount shift=N Date: Mon, 20 Apr 2020 10:32:29 +0200 Message-Id: <20200420083236.19309-5-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 03:29:18 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 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: Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" timers_state.icount_time_shift must be in [0,63] to avoid undefined behavior when shifting by it, e.g. in cpu_icount_to_ns(). icount_adjust() clamps it to [0,MAX_ICOUNT_SHIFT], with MAX_ICOUNT_SHIFT =3D 10. configure_icount() doesn't. Fix that. Fixes: a8bfac37085c3372366d722f131a7e18d664ee4d Cc: Paolo Bonzini Signed-off-by: Markus Armbruster --- cpus.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cpus.c b/cpus.c index 1b542b37f9..5670c96bcf 100644 --- a/cpus.c +++ b/cpus.c @@ -25,6 +25,7 @@ #include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/config-file.h" +#include "qemu/cutils.h" #include "migration/vmstate.h" #include "monitor/monitor.h" #include "qapi/error.h" @@ -801,7 +802,6 @@ void configure_icount(QemuOpts *opts, Error **errp) bool sleep =3D qemu_opt_get_bool(opts, "sleep", true); bool align =3D qemu_opt_get_bool(opts, "align", false); long time_shift =3D -1; - char *rem_str =3D NULL; =20 if (!option && qemu_opt_get(opts, "align")) { error_setg(errp, "Please specify shift option when using align"); @@ -814,9 +814,8 @@ void configure_icount(QemuOpts *opts, Error **errp) } =20 if (strcmp(option, "auto") !=3D 0) { - errno =3D 0; - time_shift =3D strtol(option, &rem_str, 0); - if (errno !=3D 0 || *rem_str !=3D '\0' || !strlen(option)) { + if (qemu_strtol(option, NULL, 0, &time_shift) < 0 + || time_shift < 0 || time_shift > MAX_ICOUNT_SHIFT) { error_setg(errp, "icount: Invalid shift value"); return; } --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371642; cv=none; d=zohomail.com; s=zohoarc; b=ACmoZnD5ZipKpDZwqrzhgmZOrCXxNaBI3jLZ4opqbcS6Hv9UoxyzGZ8/tqcsqQiKAbsyGjdzD81g6FXHIPQKWmVyOXfoKNRcGuHRgFabBsx2JWDw8RbnYa+wyscEFUBEkNHf8OdaKABnGDzEx73wNEs7U6zVcY/a0cVxGVND/Xc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371642; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=m0+CdJL/XFx9gkbZZ3J1j8jHjkE2+5dpro1F7ap3j7s=; b=X5XCBBaiPDEPltMJsxcTQKH4boGL0KPDpq0GMOLmQUrX8CNrrg+ForZ9hCvziUH42BP1+9dRnfmy69/LinkPLDx0D5GZrYhetEvwTRrnLhSaQbleXzG5bIN2eDyFOZ7X+UY4OmzVOisqNFl+cK85BN1BsFZhQJowy2nSYcJHjsk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371642059478.53045419737975; Mon, 20 Apr 2020 01:34:02 -0700 (PDT) Received: from localhost ([::1]:59610 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRsN-0004c2-Uf for importer@patchew.org; Mon, 20 Apr 2020 04:33:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56470 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrB-0002t2-D6 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006um-SM for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:49016 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006sl-Fw for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-344-nI0LVKH_ONq4iQUgT3TR_w-1; Mon, 20 Apr 2020 04:32:41 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F06FDDB22; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C1346A188B; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id ACB4F11358C1; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m0+CdJL/XFx9gkbZZ3J1j8jHjkE2+5dpro1F7ap3j7s=; b=hTY8IS3X6MHb8rW6lbPd/MwzpZeLXWL60hgniVbF0bHC8oF9wob3+OuKyvtOMQtay4YKP1 EWvQru6AiU0nrt9G8PppjSVGjRr8EAoZMvmM3w+HhxE8x2GDSPemUt3mwuS4nUlNYIY7xR 3X8b3DcjBYArUl3T6kU65mdbAU7F3FQ= X-MC-Unique: nI0LVKH_ONq4iQUgT3TR_w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 05/11] arm/virt: Fix virt_machine_device_plug_cb() error API violation Date: Mon, 20 Apr 2020 10:32:30 +0200 Message-Id: <20200420083236.19309-6-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 04:32:42 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 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: Peter Maydell , qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. virt_machine_device_plug_cb() passes @errp to cryptodev_builtin_sym_close_session() in a loop. Harmless, because cryptodev_builtin_sym_close_session() can't actually fail. Fix by dropping its Error ** parameter. Cc: Peter Maydell Cc: qemu-arm@nongnu.org Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/virt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 7dc96abf72..cca5316256 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1186,7 +1186,7 @@ static void create_smmu(const VirtMachineState *vms, g_free(node); } =20 -static void create_virtio_iommu_dt_bindings(VirtMachineState *vms, Error *= *errp) +static void create_virtio_iommu_dt_bindings(VirtMachineState *vms) { const char compat[] =3D "virtio,pci-iommu"; uint16_t bdf =3D vms->virtio_iommu_bdf; @@ -2118,7 +2118,7 @@ static void virt_machine_device_plug_cb(HotplugHandle= r *hotplug_dev, =20 vms->iommu =3D VIRT_IOMMU_VIRTIO; vms->virtio_iommu_bdf =3D pci_get_bdf(pdev); - create_virtio_iommu_dt_bindings(vms, errp); + create_virtio_iommu_dt_bindings(vms); } } =20 --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371643; cv=none; d=zohomail.com; s=zohoarc; b=d2UakJYS5H9YnlIPs2hw/aMbjlCbQXPGUSVGt0yypOyellvOi9TSUhVNE85MG+SwQ76TU1zHVFQ06lnPncqJaWH5LpsWBxlSeuEs3K8YtZuyCaRlqv5iieEqGMS+JuOvH2aHVz/y2lsvoNHXmWtsFtO0VU+hCUfmwOqQEtfnMrw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371643; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BdJl/PQJmyTmQZwAl3BjGF01EwCwSr6LL+1E8TqTgAw=; b=BiPxKKzZNzkCrCRmkYEl5E0ZKdHZZb3zAi6fzYs/gWwokKphBVBH60znxyKSPankl3jzeLl4hp7Icb/1ZHqNke3liUQ2J3d70LsHmnooKzB5/fq6hy9qs86YsLua9pQGpdFnNPVPZNWLEP4xWkTXz5lKiVFHuRFd9P8s6k6zsfw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371643837925.1327332921321; Mon, 20 Apr 2020 01:34:03 -0700 (PDT) Received: from localhost ([::1]:59614 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRsQ-0004eY-Fh for importer@patchew.org; Mon, 20 Apr 2020 04:34:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56458 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrA-0002su-Rc for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006vB-Vt for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:43633 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006so-It for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-345-dYaYX7dQN9uwNlwvinFLnw-1; Mon, 20 Apr 2020 04:32:40 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id F36BE8018A1 for ; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C1A3026578; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id B00F411358C2; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BdJl/PQJmyTmQZwAl3BjGF01EwCwSr6LL+1E8TqTgAw=; b=SPD7Rd95sxlmCX5yKR0SYF6c7RviaYneSa7DFZ7k4lddGpgA31JGP4Ib9L2+k7lyB6vABK AhhsyvigKy2egaZmmwhrIgWbiLjJUMYJ7MF/P0FQI3tHrBx6wKtIoWYAaWkgF/UY8rG1By +cc1IvGyY//zqSedFkejGPeU0j2vTok= X-MC-Unique: dYaYX7dQN9uwNlwvinFLnw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 06/11] fdc: Fix fallback=auto error handling Date: Mon, 20 Apr 2020 10:32:31 +0200 Message-Id: <20200420083236.19309-7-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 03:29:13 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.120 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: John Snow Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" fdctrl_realize_common() rejects fallback=3Dauto. Used by devices "isa-fdc", "sysbus-fdc", "SUNW,fdtwo". The error handling is broken: $ qemu-system-x86_64 -nodefaults -device isa-fdc,fallback=3Dauto,driveA= =3Dfd0 -drive if=3Dnone,id=3Dfd0 ** ERROR:/work/armbru/qemu/hw/block/fdc.c:434:pick_drive_type: assertion f= ailed: (drv->drive !=3D FLOPPY_DRIVE_TYPE_AUTO) Aborted (core dumped) Cause: fdctrl_realize_common() neglects to bail out after setting the error. Fix that. Fixes: a73275dd6fc3bfda33165bebc28e0c33c20cb0a0 Cc: John Snow Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/block/fdc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index 33bc9e2f92..9628cc171e 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -2615,6 +2615,7 @@ static void fdctrl_realize_common(DeviceState *dev, F= DCtrl *fdctrl, =20 if (fdctrl->fallback =3D=3D FLOPPY_DRIVE_TYPE_AUTO) { error_setg(errp, "Cannot choose a fallback FDrive type of 'auto'"); + return; } =20 /* Fill 'command_to_handler' lookup table */ --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371757; cv=none; d=zohomail.com; s=zohoarc; b=Elc2k6XN4LIDYFmPRDTYtm/w6jDGBTOxgI26sZX6TvCcE3ymrknS5tVd7u3fm6XPH6lHcfkr/JC4A+CBzniGOR8oVt4e+EcQbX+nhWM0dwCARd7GP6gceF5nsKHRfg/q7L2+kCm30zq3uclW4FgUk8HTXOitG46selgJ/ETzxMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371757; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zizm9RjgByTgrCBzPtpJ+e+xEYQesiEI32NKmLTT0yY=; b=WfhtF6A1Xb3Dw0FcqB9GawNnLuH2PkjIcdxSLM7A22xkQ0FyxPiCGVYqN8hO9udno2RsFfcPr9J4LAIip8kxkqE9lQL8dEiyBHA7zOsixXkatTc9cSRi/Zc5fvJ/hEg+Ol8IZ8xU7aaUA//k0TMdosQrnrcSiGS0v1oAc+acLoc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371757160559.7262557571121; Mon, 20 Apr 2020 01:35:57 -0700 (PDT) Received: from localhost ([::1]:59658 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRuF-0008VF-SY for importer@patchew.org; Mon, 20 Apr 2020 04:35:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56492 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrC-0002u4-Kw for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:47 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRrC-0006yJ-3K for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:46 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:28667 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRrB-0006xK-MV for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-438-EAj6ecJYPCiwZdc19PnMpg-1; Mon, 20 Apr 2020 04:32:43 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 71BDD107ACC4 for ; Mon, 20 Apr 2020 08:32:42 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C04715C28F; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id B452511358C3; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zizm9RjgByTgrCBzPtpJ+e+xEYQesiEI32NKmLTT0yY=; b=ZTIydP7wlLQeP44+kL5hoYjRBrkuLLwfMGIY4Du0hofHAdcUYwNsYHv27mDrD9R3HuR0Og SGuni1ks/f63ybwOcJf9/qLg44o8MHZTJoJXoet4hdLiSS5MnVex1LWBGI/vQVXW5OJGxb Byhhhs9UZP2pOpXJCVRpC2Jk4V37P+Y= X-MC-Unique: EAj6ecJYPCiwZdc19PnMpg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 07/11] bochs-display: Fix vgamem=SIZE error handling Date: Mon, 20 Apr 2020 10:32:32 +0200 Message-Id: <20200420083236.19309-8-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 04:32:42 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 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: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" bochs_display_realize() rejects out-of-range vgamem. The error handling is broken: $ qemu-system-x86_64 -S -display none -monitor stdio QEMU 4.2.93 monitor - type 'help' for more information (qemu) device_add bochs-display,vgamem=3D1 Error: bochs-display: video memory too small (qemu) device_add bochs-display,vgamem=3D1 RAMBlock "0000:00:04.0/bochs-display-vram" already registered, abort! Aborted (core dumped) Cause: bochs_display_realize() neglects to bail out after setting the error. Fix that. Fixes: 765c94290863eef1fc4a67819d452cc13b7854a1 Cc: Gerd Hoffmann Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/bochs-display.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c index 70eb619ef4..e763a0a72d 100644 --- a/hw/display/bochs-display.c +++ b/hw/display/bochs-display.c @@ -267,16 +267,18 @@ static void bochs_display_realize(PCIDevice *dev, Err= or **errp) Object *obj =3D OBJECT(dev); int ret; =20 - s->con =3D graphic_console_init(DEVICE(dev), 0, &bochs_display_gfx_ops= , s); - if (s->vgamem < 4 * MiB) { error_setg(errp, "bochs-display: video memory too small"); + return; } if (s->vgamem > 256 * MiB) { error_setg(errp, "bochs-display: video memory too big"); + return; } s->vgamem =3D pow2ceil(s->vgamem); =20 + s->con =3D graphic_console_init(DEVICE(dev), 0, &bochs_display_gfx_ops= , s); + memory_region_init_ram(&s->vram, obj, "bochs-display-vram", s->vgamem, &error_fatal); memory_region_init_io(&s->vbe, obj, &bochs_display_vbe_ops, s, --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.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=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371837; cv=none; d=zohomail.com; s=zohoarc; b=PS3Z8Dekhf5obZEvEmsEvjF1Nfwq3tujcc9ZLN9aEmpKUkErvgJg/FM+oTY+d170iFc4E1+G1meiC8NUMLIvY0QRC/bgXpO7/846Gz8joLadqwUxYZot1rSgL35Trl8vmHW+7knEs7r0s+RxJXe8c6ipEfmcUGUXGKntjCwpyp4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371837; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ng4XP2y3mf7/449QquLNdfmILQgJTAc5PN2KTsR1u7E=; b=YhxkpN91zZBmLK0q0JsyzQZKyVwQDhDL4CIghs3AJeqT0sKfHJh65641vPRabEyp+AowzBA5yz3sufwctoRBJqnWArJ9KBYojv5iY41qOnbuM69r06klTAXwRUf+/R9E8vMIAnlm856IH/yFJlrtHzxlyHIxRCYLXo66pEwyIsM= 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 1587371837109934.3757984736606; Mon, 20 Apr 2020 01:37:17 -0700 (PDT) Received: from localhost ([::1]:59674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRvX-0002cs-T6 for importer@patchew.org; Mon, 20 Apr 2020 04:37:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56498 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrC-0002ub-U1 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:47 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRrC-0006yh-8c for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:46 -0400 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:49196 helo=us-smtp-delivery-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRrB-0006xV-Q9 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-423-wmTxBLtvMf69cSMu2O5T9w-1; Mon, 20 Apr 2020 04:32:43 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 91658DB20 for ; Mon, 20 Apr 2020 08:32:42 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BF6A611A1F6; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id B7B0311358C4; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371565; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ng4XP2y3mf7/449QquLNdfmILQgJTAc5PN2KTsR1u7E=; b=cdOnArOle/L/LAMRSlBLsXLGmWw0LhFJExrw/z8XGzxda3U+4jRU2Gsk3LiANF41nHgTys cvl/2SAxnmWNjF0ES2BuX9f5ppKJP/qNikUHK2mqyVzozN0DaG0FEnzt2yIUXR9JE9T7Mx ykX9YTOQtfH2gc0snCqPVyR2zybVHVY= X-MC-Unique: wmTxBLtvMf69cSMu2O5T9w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 08/11] virtio-net: Fix duplex=... and speed=... error handling Date: Mon, 20 Apr 2020 10:32:33 +0200 Message-Id: <20200420083236.19309-9-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 01:47:04 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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: Jason Wang , "Michael S. Tsirkin" 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" virtio_net_device_realize() rejects invalid duplex and speed values. The error handling is broken: $ ../qemu/bld-sani/x86_64-softmmu/qemu-system-x86_64 -S -display none -= monitor stdio QEMU 4.2.93 monitor - type 'help' for more information (qemu) device_add virtio-net,duplex=3Dx Error: 'duplex' must be 'half' or 'full' (qemu) c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D15654=3D=3DERROR: AddressSanitizer: heap-use-after-free on addres= s 0x62e000014590 at pc 0x560b75c8dc13 bp 0x7fffdf1a6950 sp 0x7fffdf1a6940 READ of size 8 at 0x62e000014590 thread T0 #0 0x560b75c8dc12 in object_dynamic_cast_assert /work/armbru/qemu/qom/obje= ct.c:826 #1 0x560b74c38ac0 in virtio_vmstate_change /work/armbru/qemu/hw/virtio/vir= tio.c:3210 #2 0x560b74d9765e in vm_state_notify /work/armbru/qemu/softmmu/vl.c:1271 #3 0x560b7494ba72 in vm_prepare_start /work/armbru/qemu/cpus.c:2156 #4 0x560b7494bacd in vm_start /work/armbru/qemu/cpus.c:2162 #5 0x560b75a7d890 in qmp_cont /work/armbru/qemu/monitor/qmp-cmds.c:160 #6 0x560b75a8d70a in hmp_cont /work/armbru/qemu/monitor/hmp-cmds.c:1043 #7 0x560b75a799f2 in handle_hmp_command /work/armbru/qemu/monitor/hmp.c:10= 82 [...] 0x62e000014590 is located 33168 bytes inside of 42288-byte region [0x62= e00000c400,0x62e000016930) freed by thread T1 here: #0 0x7feadd39491f in __interceptor_free (/lib64/libasan.so.5+0x10d91f) #1 0x7feadcebcd7c in g_free (/lib64/libglib-2.0.so.0+0x55d7c) #2 0x560b75c8fd40 in object_unref /work/armbru/qemu/qom/object.c:1128 #3 0x560b7498a625 in memory_region_unref /work/armbru/qemu/memory.c:1762 #4 0x560b74999fa4 in do_address_space_destroy /work/armbru/qemu/memory.c:2= 788 #5 0x560b762362fc in call_rcu_thread /work/armbru/qemu/util/rcu.c:283 #6 0x560b761c8884 in qemu_thread_start /work/armbru/qemu/util/qemu-thread-= posix.c:519 #7 0x7fead9be34bf in start_thread (/lib64/libpthread.so.0+0x84bf) previously allocated by thread T0 here: #0 0x7feadd394d18 in __interceptor_malloc (/lib64/libasan.so.5+0x10dd18) #1 0x7feadcebcc88 in g_malloc (/lib64/libglib-2.0.so.0+0x55c88) #2 0x560b75c8cf8a in object_new /work/armbru/qemu/qom/object.c:699 #3 0x560b75010ad9 in qdev_device_add /work/armbru/qemu/qdev-monitor.c:654 #4 0x560b750120c2 in qmp_device_add /work/armbru/qemu/qdev-monitor.c:805 #5 0x560b75012c1b in hmp_device_add /work/armbru/qemu/qdev-monitor.c:905 [...] =3D=3D15654=3D=3DABORTING Cause: virtio_net_device_realize() neglects to bail out after setting the error. Fix that. Fixes: 9473939ed7addcaaeb8fde5c093918fb7fa0919c Cc: "Michael S. Tsirkin" Cc: Jason Wang Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/net/virtio-net.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index a46e3b37a7..b52ff4ab63 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -2947,6 +2947,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) n->net_conf.duplex =3D DUPLEX_FULL; } else { error_setg(errp, "'duplex' must be 'half' or 'full'"); + return; } n->host_features |=3D (1ULL << VIRTIO_NET_F_SPEED_DUPLEX); } else { @@ -2955,7 +2956,9 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) =20 if (n->net_conf.speed < SPEED_UNKNOWN) { error_setg(errp, "'speed' must be between 0 and INT_MAX"); - } else if (n->net_conf.speed >=3D 0) { + return; + } + if (n->net_conf.speed >=3D 0) { n->host_features |=3D (1ULL << VIRTIO_NET_F_SPEED_DUPLEX); } =20 --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371611; cv=none; d=zohomail.com; s=zohoarc; b=iDp5ETUHe7Y+yThQl2EBIeLBste8SVQwhVxYBKWtju1Iz1x3jQvigmjWczEU/6jyPqs7XZY9tAMOZ6gcwLFWH0iB4zqVil+/zB336g4tdgI/6DnrXfVlPh86ju6jN3HkklZmpgHqbr5i0rWPmx8yI3PyZ3poZav4AiJbVaIDyUA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371611; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=H67yUlCy/y0Sl74oiSkcXseZ2y18ZG7uO1JqanC1+vk=; b=nOZPyANeyLiyZRA5ZJ5VneKBZavmBXE/ItvXv/24EQsf5wp3DL9kf+MS8cpfLjhliC8TkIfPKVzLtc6qVZlIAJjOx/OWm6nASO8PVFPmNpyKQZNzUeAwQGRlRFA/Ed67gPR069OCh2mbtHEcRJUNgnC45YY4efaFMQU8lSy5CWs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1587371611585917.7805766319208; Mon, 20 Apr 2020 01:33:31 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jQRrG-00076P-Ak; Mon, 20 Apr 2020 08:32:50 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jQRrE-00076K-UC for xen-devel@lists.xenproject.org; Mon, 20 Apr 2020 08:32:48 +0000 Received: from us-smtp-1.mimecast.com (unknown [207.211.31.120]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id 82c47a3f-82e1-11ea-903c-12813bfff9fa; Mon, 20 Apr 2020 08:32:47 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-65-KlhUBDb3NCekAEnO42wDZw-1; Mon, 20 Apr 2020 04:32:41 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 26D918017F3; Mon, 20 Apr 2020 08:32:40 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C89412B479; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id BB20811358C5; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) X-Inumbo-ID: 82c47a3f-82e1-11ea-903c-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=H67yUlCy/y0Sl74oiSkcXseZ2y18ZG7uO1JqanC1+vk=; b=G6b2u27ztP2MUdqPaTkLbc5pVKOU/Equ0z3FyA2U6ttGnvFfOZ1KxLD45AykMlhJVzLNnl Q+rJSf7kmmM0RLj8oBDpniFzWfS8pE5lSzut7fNCeoZvQP2aEc/Wit40vUIsEOHNZdacRm zVBzmV2Fl4i4iyPQKS0anFSKUCO8WHU= X-MC-Unique: KlhUBDb3NCekAEnO42wDZw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 09/11] xen/pt: Fix flawed conversion to realize() Date: Mon, 20 Apr 2020 10:32:34 +0200 Message-Id: <20200420083236.19309-10-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Anthony Perard , xen-devel@lists.xenproject.org, Stefano Stabellini , Paul Durrant Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The conversion of xen_pt_initfn() to xen_pt_realize() blindly replaced XEN_PT_ERR() by error_setg(). Several error conditions that did not fail xen_pt_initfn() now fail xen_pt_realize(). Unsurprisingly, the cleanup on these errors looks highly suspicious. Revert the inappropriate replacements. Fixes: 5a11d0f7549e24a10e178a9dc8ff5e698031d9a6 Cc: Stefano Stabellini Cc: Anthony Perard Cc: Paul Durrant Cc: xen-devel@lists.xenproject.org Signed-off-by: Markus Armbruster Reviewed-by: Paul Durrant --- hw/xen/xen_pt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index b91082cb8b..81d5ad8da7 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -858,8 +858,8 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) =20 rc =3D xc_physdev_map_pirq(xen_xc, xen_domid, machine_irq, &pirq); if (rc < 0) { - error_setg_errno(errp, errno, "Mapping machine irq %u to" - " pirq %i failed", machine_irq, pirq); + XEN_PT_ERR(d, "Mapping machine irq %u to pirq %i failed, (err: %d)= \n", + machine_irq, pirq, errno); =20 /* Disable PCI intx assertion (turn on bit10 of devctl) */ cmd |=3D PCI_COMMAND_INTX_DISABLE; @@ -880,8 +880,8 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) PCI_SLOT(d->devfn), e_intx); if (rc < 0) { - error_setg_errno(errp, errno, "Binding of interrupt %u failed", - e_intx); + XEN_PT_ERR(d, "Binding of interrupt %i failed! (err: %d)\n", + e_intx, errno); =20 /* Disable PCI intx assertion (turn on bit10 of devctl) */ cmd |=3D PCI_COMMAND_INTX_DISABLE; @@ -889,8 +889,8 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) =20 if (xen_pt_mapped_machine_irq[machine_irq] =3D=3D 0) { if (xc_physdev_unmap_pirq(xen_xc, xen_domid, machine_irq))= { - error_setg_errno(errp, errno, "Unmapping of machine" - " interrupt %u failed", machine_irq); + XEN_PT_ERR(d, "Unmapping of machine interrupt %i faile= d!" + " (err: %d)\n", machine_irq, errno); } } s->machine_irq =3D 0; --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371840; cv=none; d=zohomail.com; s=zohoarc; b=GjcY3Yuay4s5DDeBVqH0qdeiSuqQl12r1ZA1TsPMJ+w2PTprn4WIFQ3955U/OoQpnZ3mva5p8X5tGoUp3RC8FZpl/KAj+a98BmvtbrFFdroUKVO3BCAoM+Q3VMU4PjL+PtSwX4Ach2TxgJQ62vp4zFoj0AIVD5eSkmMIulzzNPw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371840; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Dc/ix8FdW6/SCJf2RneUwHtmQ4Mxt7ZATaDhXfEvU9A=; b=GbzIxtT3PwDvjrO/hUndUq/A/MiAqZheOi+aQkmbWBzfpgMfu/5gMmjEsoAveixA0IylvPP6ZCeS3+eK7gQ7PWrbnEXBkXeRHppxPhK1jbBAXvIBVrqw43mxpqbU9fuPYNZw2NH07+PznsFXvHigtyMqP0DmV4SbRZXDs0WfAJs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371840705221.39239166689413; Mon, 20 Apr 2020 01:37:20 -0700 (PDT) Received: from localhost ([::1]:59678 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRvb-0002jy-DT for importer@patchew.org; Mon, 20 Apr 2020 04:37:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56454 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrA-0002st-O1 for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006uz-UL for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:44613 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRr9-0006sn-Gq for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:43 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-344-hz9251v_O1m0u_b__-Yiig-1; Mon, 20 Apr 2020 04:32:40 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0983F107ACC9 for ; Mon, 20 Apr 2020 08:32:40 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CCAF011E7E1; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id BF11311358C6; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371562; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Dc/ix8FdW6/SCJf2RneUwHtmQ4Mxt7ZATaDhXfEvU9A=; b=XTiHCN1rraW4/RpzDGOw8HIE+0uDyFpZBi6oJdzviCJOR635kXYVkMnLm4MMse5TzQCJOW +GclpDGrbssWZ03oja37Jdt5sjf63ImEjimgmDB7htqJoB9XDd3ny+OLnQpRDKBacXJFrX cicCLkOYatHNlQkwtsa6fp0b82Ts/q4= X-MC-Unique: hz9251v_O1m0u_b__-Yiig-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 10/11] io: Fix qio_channel_socket_close() error handling Date: Mon, 20 Apr 2020 10:32:35 +0200 Message-Id: <20200420083236.19309-11-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 04:32:42 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 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: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. qio_channel_socket_close() passes @errp first to socket_listen_cleanup(), and then, if closesocket() fails, to error_setg_errno(). If socket_listen_cleanup() failed, this will trip the assertion in error_setv(). Fix by ignoring a second error. Fixes: 73564c407caedf992a1c688b5fea776a8b56ba2a Cc: Daniel P. Berrang=C3=A9 Signed-off-by: Markus Armbruster Reviewed-by: Daniel P. Berrang=C3=A9 --- io/channel-socket.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/io/channel-socket.c b/io/channel-socket.c index b74f5b92a0..e1b4667087 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -704,6 +704,7 @@ qio_channel_socket_close(QIOChannel *ioc, { QIOChannelSocket *sioc =3D QIO_CHANNEL_SOCKET(ioc); int rc =3D 0; + Error *err =3D NULL; =20 if (sioc->fd !=3D -1) { #ifdef WIN32 @@ -715,8 +716,8 @@ qio_channel_socket_close(QIOChannel *ioc, =20 if (closesocket(sioc->fd) < 0) { sioc->fd =3D -1; - error_setg_errno(errp, errno, - "Unable to close socket"); + error_setg_errno(&err, errno, "Unable to close socket"); + error_propagate(errp, err); return -1; } sioc->fd =3D -1; --=20 2.21.1 From nobody Fri May 17 17:25:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1587371645; cv=none; d=zohomail.com; s=zohoarc; b=XQMg/59vxmBSuuqzJ+vmCnTXbDALTei1+h3GE7ylbTvdIhAr5gAUchUkrGnteST0hBZRJTWQDg3R/x2iY2z93nsZGkf9sq1SU2VfOLPE6wEFJW+3Bl5MD3X+rnQrN+SEwlJolBDrAItdr14qwtotZUJvlRO+/JDdJpaOAJ2O5Bk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587371645; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=m2k6LewiTNFgf6Pzbdvr/rBx+uQJZq79kOGql1ICBkY=; b=XBTgyYFiS2LUCyMeesEnFTaOpampX/9cj7D64WyhUqO0ViLvjAyABday2Cqh8re48O1znaqKqrWROVdqcnCX/WOJJbDy+viIaHVVGdJGdsEypx+hMqwF2hkEWa0C4523NbCdI9uFZCAFms8gmG3tj+QcPl7dB+SvK99v6SJumiw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1587371645147644.9812978638557; Mon, 20 Apr 2020 01:34:05 -0700 (PDT) Received: from localhost ([::1]:59612 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRsR-0004dQ-JX for importer@patchew.org; Mon, 20 Apr 2020 04:34:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56462 helo=eggs1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jQRrB-0002sv-1q for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:45 -0400 Received: from Debian-exim by eggs1p.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jQRrA-0006vp-Fb for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:49518 helo=us-smtp-1.mimecast.com) by eggs1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jQRrA-0006u4-0J for qemu-devel@nongnu.org; Mon, 20 Apr 2020 04:32:44 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-430-3Gt_UdSlNjGcTNTuRtt-WQ-1; Mon, 20 Apr 2020 04:32:41 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 378561005509; Mon, 20 Apr 2020 08:32:40 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-113-6.ams2.redhat.com [10.36.113.6]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EEEB296FB1; Mon, 20 Apr 2020 08:32:39 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id C251A11358C7; Mon, 20 Apr 2020 10:32:36 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587371563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m2k6LewiTNFgf6Pzbdvr/rBx+uQJZq79kOGql1ICBkY=; b=KcN+NZ8LeKoU554TPO+j3AHeScDzc9ety/wCTxrHfnVPjxx4UpnDPu3uTvJftVcvzBnST7 mDM5HImv3CS/rFh/4vgn5jHwNRtf/m3QvTJl0aq1iR2lo0LXxCPBYsthfGyYQ0qkDnpuKD WTWa9Fl3Sck8gmJOpQ0y9Tp7KX0GwqA= X-MC-Unique: 3Gt_UdSlNjGcTNTuRtt-WQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 11/11] migration/colo: Fix qmp_xen_colo_do_checkpoint() error handling Date: Mon, 20 Apr 2020 10:32:36 +0200 Message-Id: <20200420083236.19309-12-armbru@redhat.com> In-Reply-To: <20200420083236.19309-1-armbru@redhat.com> References: <20200420083236.19309-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs1p.gnu.org: First seen = 2020/04/20 04:32:42 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.120 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: Zhang Chen , zhanghailiang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. qmp_xen_colo_do_checkpoint() passes @errp first to replication_do_checkpoint_all(), and then to colo_notify_filters_event(). If both fail, this will trip the assertion in error_setv(). Similar code in secondary_vm_do_failover() calls colo_notify_filters_event() only after replication_do_checkpoint_all() succeeded. Do the same here. Fixes: 0e8818f023616677416840d6ddc880db8de3c967 Cc: Zhang Chen Cc: zhanghailiang Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Zhang Chen Reviewed-by: zhanghailiang --- migration/colo.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/migration/colo.c b/migration/colo.c index a54ac84f41..1b3493729b 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -263,7 +263,13 @@ ReplicationStatus *qmp_query_xen_replication_status(Er= ror **errp) =20 void qmp_xen_colo_do_checkpoint(Error **errp) { - replication_do_checkpoint_all(errp); + Error *err =3D NULL; + + replication_do_checkpoint_all(&err); + if (err) { + error_propagate(errp, err); + return; + } /* Notify all filters of all NIC to do checkpoint */ colo_notify_filters_event(COLO_EVENT_CHECKPOINT, errp); } --=20 2.21.1