From nobody Tue Apr 30 15:07:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.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=linaro.org Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 155378020674497.67732518905825; Thu, 28 Mar 2019 06:36:46 -0700 (PDT) Received: from localhost ([127.0.0.1]:36801 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9VCv-0002Jt-6k for importer@patchew.org; Thu, 28 Mar 2019 09:36:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h9VBW-0001ZG-1e for qemu-devel@nongnu.org; Thu, 28 Mar 2019 09:35:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h9VBU-0006cl-Vk for qemu-devel@nongnu.org; Thu, 28 Mar 2019 09:35:10 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:35704) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h9VBU-0006at-D4 for qemu-devel@nongnu.org; Thu, 28 Mar 2019 09:35:08 -0400 Received: by mail-wm1-x344.google.com with SMTP id y197so1343583wmd.0 for ; Thu, 28 Mar 2019 06:35:07 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 3sm34265549wrk.68.2019.03.28.06.35.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Mar 2019 06:35:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=0qSfFds0Fw8h+oHiVt11MrymvwU5gFipYeAaP79AvAs=; b=XZlANY6r2nLBqWIfYNWKMi++dH8m0KIgdeHYgDk7nqsd3cJP5/VMYeCilRd0/cWzAs I+jF/E7uUh1pNGxsE5aktx844FiHJxvqMe+xlvSKLWzJRcRtWCuw8Ra3dC37HijEzJ4p GxUHOw+lOulnrnVYUhHKzQBPVK89A7kEOBv2In/hO6uSLy64s8ZNqeKZt2Hd2QYMjG15 OB75O3wZ22DaYlAzkIwSXhqhXxd/MP3Jt4HCvwNGLi3QdUVkzGfXzafZBamUVliMMAWg YSg0g9HmU7qDBitJzWfwBzk69oFW8WX8lc+NkwwY22ksJ7EYHzJzXnzi91pBi5G8pv0f YJ1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=0qSfFds0Fw8h+oHiVt11MrymvwU5gFipYeAaP79AvAs=; b=HJg63andjwC+bwFkOdVUuOhf3o1tKQclnSzvmD0kkOUPA8TEWU9tcLWpsfD6yDgKAB FCFP4lwoZ8nPzc8cP9nBQzVv2VrSHIDkByXH2h6kjC7RVW9jH6WKKT2jrnSME0FJnAZT ulgL/y4yvEqXxDyxtsz63KqQJuRt7N4GTypPb3o+xEkPuZSSeFmD5YxJQQTNOGLM2JA/ 64baWxIyWYUdpejf3R1OXB3cIWoPcrw0AAEdKa5HqU32pGHmr6mkf/odWkTWK7EGbr2p NT3Noc1cjdPLtO63kq4x8Q4zKK0m4E4EXYZEXWZMGsMihA8gNKNUaPHqptXAOAn9JeWd wIRQ== X-Gm-Message-State: APjAAAXyNuKMXfs8QaAS1c4xzWY6ETh2VUj0EWWJ3l71+W6kqScd5teH Br2ktDlqbOEYSTqhLP+IBLqWhBek1V4= X-Google-Smtp-Source: APXvYqxH051++U3Ie7ZO0MsLrcPI40BRsAm0s6sqdFiJ8cIJ86LIAgHa2PrREeTLu6epnhHVakP63g== X-Received: by 2002:a1c:40d6:: with SMTP id n205mr22483wma.140.1553780106409; Thu, 28 Mar 2019 06:35:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Date: Thu, 28 Mar 2019 13:35:03 +0000 Message-Id: <20190328133503.6490-1-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PATCH for-4.0] hw/usb/bus.c: Handle "no speed matched" case in usb_mask_to_str() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann , patches@linaro.org 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" In usb_mask_to_str() we convert a mask of USB speeds into a human-readable string (like "full+high") for use in tracing and error messages. However the conversion code doesn't do anything to the string buffer if the passed in speedmask doesn't match any of the recognized speeds, which means that the tracing and error messages will end up with random garbage in them. This can happen if we're doing USB device passthrough. Handle the "unrecognized speed" case by using the string "unknown". Fixes: https://bugs.launchpad.net/qemu/+bug/1603785 Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- Tested by temporarily fiddling with the callsites to pass in a 0 speedmask, since I don't have any USB passthrough stuff handy. --- hw/usb/bus.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 6fffab7bfa4..9a74dc95601 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -500,6 +500,10 @@ static void usb_mask_to_str(char *dest, size_t size, speeds[i].name); } } + + if (pos =3D=3D 0) { + snprintf(dest, size, "unknown"); + } } =20 void usb_check_attach(USBDevice *dev, Error **errp) --=20 2.20.1