From nobody Fri Mar 29 06:16:24 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=1620033816; cv=none; d=zohomail.com; s=zohoarc; b=eFdLbm+ZK4hMobqSIWKLpUrcjhTSRW0L383br00q6PwGivNs4QJOt6itL5rw605MWOmHHiku7Y3EljZo4WKNFbg95rmR3azwJAj/b3dKanMZykkYy3FsWwvK6Q9DinQw/Iof/8RWw60ZDrRF1pvlNI3hMV1uE3IJgFGUpDVRL+E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620033816; 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=IIQWoOj7e0dsIa7hkFCElsSBHzeF9k3Da95taQOwAFU=; b=czDvb4YANK0mySwghdKjsmD1URhrF7HD7ymGmx+i7NqozK84R0WBp3uoawnSjYOWcMSF/7vSZc/EkFZJyZV5cxtLhfEli+WZtcfGaN+4FzHxQeKFfemuCkAbw4XyvXR7Nnhjw75QoSo63JlI8Np2+LCxgSoEZkA1QlY6PWPJeis= 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 1620033816482485.5230170867396; Mon, 3 May 2021 02:23:36 -0700 (PDT) Received: from localhost ([::1]:37562 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldUnf-00086s-Cp for importer@patchew.org; Mon, 03 May 2021 05:23:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60692) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfQ-0007AW-80 for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41264) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfI-0005rF-7i for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:02 -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-475-WmgRhH01PYC1cgOMc3JNWw-1; Mon, 03 May 2021 05:14:53 -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 1C9766D241; Mon, 3 May 2021 09:14:52 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-203.ams2.redhat.com [10.36.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1F6135D74F; Mon, 3 May 2021 09:14:48 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 83E52180039E; Mon, 3 May 2021 11:14:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620033294; 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=IIQWoOj7e0dsIa7hkFCElsSBHzeF9k3Da95taQOwAFU=; b=AP4/3GB8UQLsL7+HfdXXqcRpvI3gBWjrTbt3CjbDbRq5QXt2V4yqVDWsV3ynrZ7hZ8fyaE udl58UINfJd6atDnuK5rOG9/b43gvX8zIIcnMYQ+dUVhDvgKrcSuoKkYHpiH8FooxbF96n eFgfFr74H6a14my2ZQXGXBLJmj0uieQ= X-MC-Unique: WmgRhH01PYC1cgOMc3JNWw-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 1/5] usb/hid: avoid dynamic stack allocation Date: Mon, 3 May 2021 11:14:42 +0200 Message-Id: <20210503091446.2137206-2-kraxel@redhat.com> In-Reply-To: <20210503091446.2137206-1-kraxel@redhat.com> References: <20210503091446.2137206-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com 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=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: mcascell@redhat.com, remy.noel@blade-group.com, Gerd Hoffmann 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" Use autofree heap allocation instead. Signed-off-by: Gerd Hoffmann --- hw/usb/dev-hid.c | 2 +- hw/usb/dev-wacom.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/usb/dev-hid.c b/hw/usb/dev-hid.c index fc39bab79f94..1c7ae97c3033 100644 --- a/hw/usb/dev-hid.c +++ b/hw/usb/dev-hid.c @@ -656,7 +656,7 @@ static void usb_hid_handle_data(USBDevice *dev, USBPack= et *p) { USBHIDState *us =3D USB_HID(dev); HIDState *hs =3D &us->hid; - uint8_t buf[p->iov.size]; + g_autofree uint8_t *buf =3D g_malloc(p->iov.size); int len =3D 0; =20 switch (p->pid) { diff --git a/hw/usb/dev-wacom.c b/hw/usb/dev-wacom.c index b59504863509..ed687bc9f1eb 100644 --- a/hw/usb/dev-wacom.c +++ b/hw/usb/dev-wacom.c @@ -301,7 +301,7 @@ static void usb_wacom_handle_control(USBDevice *dev, US= BPacket *p, static void usb_wacom_handle_data(USBDevice *dev, USBPacket *p) { USBWacomState *s =3D (USBWacomState *) dev; - uint8_t buf[p->iov.size]; + g_autofree uint8_t *buf =3D g_malloc(p->iov.size); int len =3D 0; =20 switch (p->pid) { --=20 2.30.2 From nobody Fri Mar 29 06:16:24 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=1620033467; cv=none; d=zohomail.com; s=zohoarc; b=TCvj8vndVxoGMidddh2mFgbRPH32gZ5l7CHNBLuR1r3yy/+fu/8xMuDWu91IZtS6BUWo96qnSUUwp1XcTSF3XIDs9YnOTMdt+bzAxzs0Dt6zDT++1wmVnjKZkC4FprhlXiok84fhr9NN24ti6spzQ2wTzICgfQkh8T1rFbYkoGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620033467; 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=V+kn36yzDj2aAGJU7413F9zeXmChHR7E1UMXemfongQ=; b=Y5/duLed+UFEnjHeiZ6D5dkEwlGTG8jkwPLGEQAQRrXgcWnJwuXVrlb2DhJdp4bGBFGAIK7a9vg2hK6BfUWj0QdiLI0ca4HZJPBwhOnuORsQFxKSs0egGzOL+DTPQAK7sowzZudEeeX7/FMn8HTjVc69GyziigJEiqey/2gdseA= 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 1620033467947370.6033705129938; Mon, 3 May 2021 02:17:47 -0700 (PDT) Received: from localhost ([::1]:48336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldUi2-0000bd-QH for importer@patchew.org; Mon, 03 May 2021 05:17:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60694) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfR-0007AY-RL for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:47499) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfJ-0005s6-SH for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:04 -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-169-cMpoU8uCN1iiREEkB0c6zw-1; Mon, 03 May 2021 05:14:55 -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 669CC801AC9; Mon, 3 May 2021 09:14:54 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-203.ams2.redhat.com [10.36.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2A58F5D736; Mon, 3 May 2021 09:14:54 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 8FE52180063D; Mon, 3 May 2021 11:14:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620033296; 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=V+kn36yzDj2aAGJU7413F9zeXmChHR7E1UMXemfongQ=; b=hQsQAG9qvDIy2hrXqLczGE7vaU96iN3mrTjyKKb2c3H91zxMGewekKZ9cT22U6CU8b4QFP 4idnNVZ8c8UOoOcKKonFm1d7T8bn4gGK+GODAH5mDlCLQgO9+I2XFWm5d27F/7vhwBraO9 TBLvsT7fcEHFYjj28G1KOQZS0ndwqRU= X-MC-Unique: cMpoU8uCN1iiREEkB0c6zw-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 2/5] usb/redir: avoid dynamic stack allocation (CVE-2021-3527) Date: Mon, 3 May 2021 11:14:43 +0200 Message-Id: <20210503091446.2137206-3-kraxel@redhat.com> In-Reply-To: <20210503091446.2137206-1-kraxel@redhat.com> References: <20210503091446.2137206-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com 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=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: mcascell@redhat.com, remy.noel@blade-group.com, Gerd Hoffmann 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" Use autofree heap allocation instead. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/redirect.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 17f06f34179a..db1a89a7cc92 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -818,7 +818,7 @@ static void usbredir_handle_bulk_data(USBRedirDevice *d= ev, USBPacket *p, usbredirparser_send_bulk_packet(dev->parser, p->id, &bulk_packet, NULL, 0); } else { - uint8_t buf[size]; + g_autofree uint8_t *buf =3D g_malloc(size); usb_packet_copy(p, buf, size); usbredir_log_data(dev, "bulk data out:", buf, size); usbredirparser_send_bulk_packet(dev->parser, p->id, @@ -923,7 +923,7 @@ static void usbredir_handle_interrupt_out_data(USBRedir= Device *dev, USBPacket *p, uint8_t ep) { struct usb_redir_interrupt_packet_header interrupt_packet; - uint8_t buf[p->iov.size]; + g_autofree uint8_t *buf =3D g_malloc(p->iov.size); =20 DPRINTF("interrupt-out ep %02X len %zd id %"PRIu64"\n", ep, p->iov.size, p->id); --=20 2.30.2 From nobody Fri Mar 29 06:16:24 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=1620033516; cv=none; d=zohomail.com; s=zohoarc; b=LjvTMaDSNaxN85TixKumLySrjLr7cW/sjHoCSIluu4BGXUNaQPWFKFRziOUBos9PpfFN9+5poT8CSTEZOEgRTHv47HCbBxml2msEkpL+tk/tebGWUCdUyOK8ho1KfWirk2Jv1UzydgA2xBJb//4bi83SO7/Do9suWGwAY+NL6r0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620033516; 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=mrdxAKjUzr/byGv5e5o5W5r22e+2bwN+g67LOvTBIYs=; b=KmwduBXVzDllD0Qv7uiwWPWS6qOLOPiX0S83lMpxFzLY5AndhIpKAFUishbxxfctaphaSO0Nl3KOjv5kp2j7Sv77FtXH47lLLWD3zfxIIhH3TNAOs9AXkyhpJR5zQGYxtmVZDR5ai5zf4RNKzwkSat1R3DnXPg9ZL0pgfcQzd74= 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 1620033516076559.2453625974956; Mon, 3 May 2021 02:18:36 -0700 (PDT) Received: from localhost ([::1]:50472 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldUio-0001TC-Vz for importer@patchew.org; Mon, 03 May 2021 05:18:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfO-0007AA-0i for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:02 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:41859) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfL-0005sz-Ov for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:01 -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-285-CjETldjuPwKAoPwZBuZ1rQ-1; Mon, 03 May 2021 05:14:57 -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 56C10107ACCD; Mon, 3 May 2021 09:14:56 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-203.ams2.redhat.com [10.36.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2B98E5C241; Mon, 3 May 2021 09:14:54 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 9A8CC1800793; Mon, 3 May 2021 11:14:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620033298; 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=mrdxAKjUzr/byGv5e5o5W5r22e+2bwN+g67LOvTBIYs=; b=S4d+HUQTPhISdo32BJTq2dNHmHeCS3+djC1lPgMfF1P3HMdxdRMSKtn+59uD9CX+baieHk uK4FZaqG6/mksNdSGKMcB82p6nVei9DWpua/YORrDswOknZp3NKdiRf3VLYZl3+vMfcbvz uwEmJhBynqF/kcbZKv3vnW/ea/omZ7E= X-MC-Unique: CjETldjuPwKAoPwZBuZ1rQ-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 3/5] usb/mtp: avoid dynamic stack allocation Date: Mon, 3 May 2021 11:14:44 +0200 Message-Id: <20210503091446.2137206-4-kraxel@redhat.com> In-Reply-To: <20210503091446.2137206-1-kraxel@redhat.com> References: <20210503091446.2137206-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com 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=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: mcascell@redhat.com, remy.noel@blade-group.com, Gerd Hoffmann 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" Use autofree heap allocation instead. Signed-off-by: Gerd Hoffmann --- hw/usb/dev-mtp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index bbb827434482..2a895a73b083 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -907,7 +907,8 @@ static MTPData *usb_mtp_get_object_handles(MTPState *s,= MTPControl *c, MTPObject *o) { MTPData *d =3D usb_mtp_data_alloc(c); - uint32_t i =3D 0, handles[o->nchildren]; + uint32_t i =3D 0; + g_autofree uint32_t *handles =3D g_new(uint32_t, o->nchildren); MTPObject *iter; =20 trace_usb_mtp_op_get_object_handles(s->dev.addr, o->handle, o->path); --=20 2.30.2 From nobody Fri Mar 29 06:16:24 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=1620033657; cv=none; d=zohomail.com; s=zohoarc; b=cSX8D2x8LA9Z9XxrR88dTqXymk/rMUpc/B7OBqjF8YWuNkgAu+KTlvGeTW6kOCf50c1E21jPMZFqIT+AbtGTnUZXFv1s4IkjsVJPExj7FHlOS0l5GxfZnSS8uOMrNDQ78WOAVJUm6oszRiQVi2T/FfuLKBBA4V+GZ9YCbWXB6oo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620033657; 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=n4IuX5mGBxhSoUNBaK2iWkP/sAnynBLyfTGs307GZHs=; b=C8Z2QRFeQBxdHY7csO6lXC/tqE95HyR90Zji/ZV8vwGrD1UQgNirZCDrVhf8Rq8YelYcEHJL1JOnO/kD9JsoijieWRHqZmxhHffJH1c5CcdBit+VJV+i9f096zcHefOrzy4RESN11icbReM98uRItU0EZl2jlMmT+5FlHYzb5fQ= 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 1620033657321642.4950316821522; Mon, 3 May 2021 02:20:57 -0700 (PDT) Received: from localhost ([::1]:57304 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldUl6-0004Qb-8l for importer@patchew.org; Mon, 03 May 2021 05:20:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60744) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfW-0007CO-Tf for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:58953) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfU-0005yj-I2 for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:10 -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-265-zlIv7IgOMSOsTGktxEsqaA-1; Mon, 03 May 2021 05:15:05 -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 E8484801817; Mon, 3 May 2021 09:15:04 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-203.ams2.redhat.com [10.36.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 20B3E19C59; Mon, 3 May 2021 09:14:59 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A57BC1800799; Mon, 3 May 2021 11:14:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620033308; 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=n4IuX5mGBxhSoUNBaK2iWkP/sAnynBLyfTGs307GZHs=; b=TDWV+YPLtqk1OwqJ1QMG9qY6Z2Cy+JRJ8jRQb64j+gjfAQyOlqfSy1eeQZK4/szOMX/PnV B4Stx+agClKrUmlXwKU4pd1ko7Rwfr12J7PW5gDfGKUkVPtWva4G9r8rwnYokfg1gMbVHL vsofQb1GXNUZvS6yZ4DsG4v7CDL7CJQ= X-MC-Unique: zlIv7IgOMSOsTGktxEsqaA-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 4/5] usb/xhci: sanity check packet size Date: Mon, 3 May 2021 11:14:45 +0200 Message-Id: <20210503091446.2137206-5-kraxel@redhat.com> In-Reply-To: <20210503091446.2137206-1-kraxel@redhat.com> References: <20210503091446.2137206-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com 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=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: mcascell@redhat.com, remy.noel@blade-group.com, Gerd Hoffmann 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" Make sure the usb packet size is within the bounds of the endpoint configuration. Signed-off-by: Gerd Hoffmann --- hw/usb/hcd-xhci.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 46212b1e695a..7acfb8137bc9 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -1568,6 +1568,11 @@ static int xhci_setup_packet(XHCITransfer *xfer) qemu_sglist_destroy(&xfer->sgl); return -1; } + if (xfer->packet.iov.size > ep->max_packet_size) { + usb_packet_unmap(&xfer->packet, &xfer->sgl); + qemu_sglist_destroy(&xfer->sgl); + return -1; + } DPRINTF("xhci: setup packet pid 0x%x addr %d ep %d\n", xfer->packet.pid, ep->dev->addr, ep->nr); return 0; --=20 2.30.2 From nobody Fri Mar 29 06:16:24 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=1620033623; cv=none; d=zohomail.com; s=zohoarc; b=EU2wCcCV/7MnUKElEh1iclWxvmxCjr7siqnK3Wv2NOBxZKsGiZWhPXRsygteMLixM9az+Icll1OdqHmO/WMZ9JiD53vScHZMCYiMnPcbDZ6Hz1dpmNKdRuATEJTJr3A+jTt8ocy1YgHP81NnzU9oYGFzfHYLDqFMiq8HlH7Tnb8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620033623; 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=beuHHcBhpTIhiCGL3twD1YqDRs3Mka47JpkK6KzdabU=; b=jg25C25LKXN4jsBMHRbwNyahvndPF4RfuIivcc7fAnJzDZAqBIkkECf/fneTE9FH9vUCbbTRn9YMGKdV1BOpQXjEErAQ3MyJE+QAPeYhrfhWxpQOUCWU+naqBl9e5w8thi9q6fL2upoo8gqJAXEDFLIPVPJAuBUxLBIMtTZcQ5Y= 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 1620033623058413.14222749003864; Mon, 3 May 2021 02:20:23 -0700 (PDT) Received: from localhost ([::1]:55864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ldUkX-0003ng-Sw for importer@patchew.org; Mon, 03 May 2021 05:20:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60754) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfY-0007CV-A5 for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:59369) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ldUfV-0005z3-A6 for qemu-devel@nongnu.org; Mon, 03 May 2021 05:15:12 -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-352-x_qh_vncMD-3OeJpVrVhNg-1; Mon, 03 May 2021 05:15:06 -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 D09CD1883525; Mon, 3 May 2021 09:15:05 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-203.ams2.redhat.com [10.36.112.203]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E35794EF97; Mon, 3 May 2021 09:14:57 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id B0929180079B; Mon, 3 May 2021 11:14:46 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1620033308; 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=beuHHcBhpTIhiCGL3twD1YqDRs3Mka47JpkK6KzdabU=; b=BhhaWPh/8mc6UmM8mWmTfdXEH4OKr0lOOyijfoPFAB/mCnKkTeCbmi5qLL8ff2Jj+rmztU XC3sJOB+SExXTm/7XUnWBuSVjhsMc+Q/i8a6B4SfKbBWu0+UwGR80Idc1CTTe/cdM5xGNd eGq2WaK3ZYBVtg2dk2nfDDoIze+/aIE= X-MC-Unique: x_qh_vncMD-3OeJpVrVhNg-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 5/5] usb: limit combined packets to 1 MiB Date: Mon, 3 May 2021 11:14:46 +0200 Message-Id: <20210503091446.2137206-6-kraxel@redhat.com> In-Reply-To: <20210503091446.2137206-1-kraxel@redhat.com> References: <20210503091446.2137206-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com 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=170.10.133.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -34 X-Spam_score: -3.5 X-Spam_bar: --- X-Spam_report: (-3.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.697, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: mcascell@redhat.com, remy.noel@blade-group.com, Gerd Hoffmann 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" usb-host and usb-redirect try to batch bulk transfers by combining many small usb packets into a single, large transfer request, to reduce the overhead and improve performance. This patch adds a size limit of 1 MiB for those combined packets to restrict the host resources the guest can bind that way. Signed-off-by: Gerd Hoffmann --- hw/usb/combined-packet.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/usb/combined-packet.c b/hw/usb/combined-packet.c index 5d57e883dcb5..e56802f89a32 100644 --- a/hw/usb/combined-packet.c +++ b/hw/usb/combined-packet.c @@ -171,7 +171,9 @@ void usb_ep_combine_input_packets(USBEndpoint *ep) if ((p->iov.size % ep->max_packet_size) !=3D 0 || !p->short_not_ok= || next =3D=3D NULL || /* Work around for Linux usbfs bulk splitting + migration = */ - (totalsize =3D=3D (16 * KiB - 36) && p->int_req)) { + (totalsize =3D=3D (16 * KiB - 36) && p->int_req) || + /* Next package may grow combined package over 1MiB */ + totalsize > 1 * MiB - ep->max_packet_size) { usb_device_handle_data(ep->dev, first); assert(first->status =3D=3D USB_RET_ASYNC); if (first->combined) { --=20 2.30.2