From nobody Sat Jul 25 18:54:12 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057770; cv=none; d=zohomail.com; s=zohoarc; b=fJgk6WzNC6Aio9w5Ibg22ef0cUi5KzBaOuoVHhj/7xo2qgIh3L4QNu5ID9iUkQnkaintLKkxtHsIInMgnpqdR1lYMNmQEBbeHgqnM3t8Y9/VQmXJpMtZgm1CAAVfLGgMr20fuFSEzdyZbBUEF2LDcN1Xbqg3V4PrBv95eL3lAeg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057770; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=l6jvJ2jQtDw58F2tcQ2rADAmzFepgy9g+HQwh2b/wLw=; b=jRx+YTt8kvbJ8mncT40Zw/eG/ma6BFgIclUpeDP9ijez4rQ8UcIqG4MkkBOyhFnxSi4WOxCcBXgOOxfAp5kyynQjb1HLJiJ6YDSfBPQD+RhNKKub8+hRCTSDL6CoHixAKE2RAwAJzNwkqvvUwDbfJ1R4JVBnsruLiNk3yDcXBcg= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057770826817.6694819384139; Tue, 14 Jul 2026 12:36:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiur-0001XR-NM; Tue, 14 Jul 2026 15:35:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiuk-0001X1-6B for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:35 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiuh-00050m-LS for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:33 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIw8MH1136452 for ; Tue, 14 Jul 2026 19:35:29 GMT Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fds9mgfrd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:35:29 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8ea75996387so116102886d6.1 for ; Tue, 14 Jul 2026 12:35:29 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950a2f9402sm99863185e9.13.2026.07.14.12.35.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:35:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= l6jvJ2jQtDw58F2tcQ2rADAmzFepgy9g+HQwh2b/wLw=; b=BBTZLfCcafzIuXR8 HEWWTa9m4TBrupuyuwIpWDDekRH8XsC6eL+BtEMOqZ1oSViZED54HtQMrwhICFa6 Hy+/7jhQmMGbErKJmJ9wbIIyC+CpTlcJ0nKYCy1M+uJjIK6sqio9ygtSn0CHgYyk R2Yrq2CNTt5TGWwB4zaMN2eY0BLB1wGfOiKYfbWDpBdjWc+HZM2m9Pj6RBP9kRhw AZths37xPEkznE0OLx3NLCLG/3dQA0hEalLX5fNPW8h1JDQjOTY6XWZgQPS4xPxq ErUJO6ldm1Aqw43VFTMRhwFyvzrhKtTZeoKT8L/8ITixSExc6IxwNz1x8l/I3PXH 0FFu7w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057728; x=1784662528; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=l6jvJ2jQtDw58F2tcQ2rADAmzFepgy9g+HQwh2b/wLw=; b=CXPYhOVmQI5E/y3lYLhPYQKuAHXUKgFw5yczbLkMHzRT4LHMX0TzHlWew92lJjuvOy HcKf/6sw6iAiWU7boKLG4nrTYI9ak2mXsz4XEz306GGt75zF5X8c4yccg6e/2U/m1eXk P/1w7vNE4oEmuOOUtoF0MXpBXXxNGT+NmnarbETX2dUgurmJFGIFFo5Y+LOZaZEN9YdM rr5KPpfeKtQdAKi29dYefOXV/Z1UBvfkHclGvsf1hS+36DF1RksPtinkmKmRZz06QHZD NYviv77byVEmSIXaytOgw5gqL1f+3psn3c4dR919DkfsC0mZJOH/pOwhu5JsZ8TvtXUI l6Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057728; x=1784662528; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=l6jvJ2jQtDw58F2tcQ2rADAmzFepgy9g+HQwh2b/wLw=; b=WnP5zEeRmGlY/U8/YnZrhuDx8r7TiiWFyLfCVulCQwAuzUP3p9PFtFzNUoD3UUdpxm pHTNJNfgNvzlIQKfikAVY48sIJPD6Wt+W28ajYWAwN/nc4Z04Ms/9aiJ7YmQCnPupcFg UIKIjoMvgTxM7tz+80OoF1OwHH7fnNgBbYAeEs80V8ZnnTEzqQKJvwRX6qnbGgtCl0QP Y0rH3btMZwcjf5KbCpcMx57H3PVmm6bNCsPdy3Yen3W1sGkX3c9OA682rav+zs8cX1sm lhEZn7ZnMnE7zV8Fxl3D1bxsAR3QSALgmPtklFYdk7A1f5qMrzaOaXUyfsEJAkI1N5v5 WzXQ== X-Gm-Message-State: AOJu0Yx8dOtv5UaWArFmpNmahOk4gdqM7gSeRCqRqLoHiDQHYDdpo9Y4 b+4Pw2ZSpWxWqUMa30iGjVvGony3tcOtU6bHyPcHDJMLC4q2rMnwrii7f9lp4kgakKRkOX8EF9/ hCAUOpd2K5J2cbpscGa2AlS9g22lwZ8V3pXo1hWZmFalB3baFNNmFBhv2EUx/IYkurQ== X-Gm-Gg: AfdE7clu8bYOwByutnRYAynmKSOKtcDS0u0TOSXBXmrDyJl7Bcg1blPT0HECzlT+hcY A+fIIRRMlde6GupHUsoKOQY+pz7YsCTMKzfCJi+otjbate8qRGEFKiOrGzB/nEeJOQAqVRghGsa Xg389I7Z8W2z6nwIvWJdPd+ZSygQqYir9rGhH6U2RhqUsd/XaEWmxRlIRp3wzaw8jtX7/fhIwec 1i06vttW6paj0DZP6FaffDfglrmGXJ/HNiLbhSXWFr11dJlwPLZOCUABgMFFNulctB06wKmvDwX TF8WM4PyIcvynACkAmHg7fPjdqqyNFcPqWOYq2Qo3pzr08Tnqp5cjG4zpK6Jdv4X1onHcPAxBSa SmXsuS8emsPLyHFqd8fJKVa5UF4YsnMypOsAfM87LU+VQdxBwpxpPt4zsSdv71ZofNBI5 X-Received: by 2002:ac8:5889:0:b0:519:f02b:45cb with SMTP id d75a77b69052e-51e4eff6d4amr483481cf.26.1784057728370; Tue, 14 Jul 2026 12:35:28 -0700 (PDT) X-Received: by 2002:ac8:5889:0:b0:519:f02b:45cb with SMTP id d75a77b69052e-51e4eff6d4amr483211cf.26.1784057727819; Tue, 14 Jul 2026 12:35:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 01/13] hw/sparc64/sun4u: Mark unusable PCI busses as full to ease device plugging Date: Tue, 14 Jul 2026 21:35:05 +0200 Message-ID: <20260714193517.60708-2-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX6crcJZqJZsLZ w+/X6cGUoBkr2oPHl2kSjI20zZcaedABu9WLn0FII+iKr2xSIPqioSS5/y2tH+/euespxDnByPj JQP4jGk3Czn1ZAtbkABo1dqNs8j5Tl34nwP6xeqg9sxHnrS641/jdQhBMIerVbptSfir93Nh/SY VsSNgn/Io5Ru+lYjdDkSBd3GGqVtGqzxGf1Yh8+iKW7e1L2dhrwT1WiXcuv9WBl+nwSpx7XV2oa M+OlLnP77Y3LsbsPDQg4/JcBWxwq37h1kJj4VInFQeJ9UYDZwMepot+tTaDe4fwWZbydze4okVB ncwuQG420Fcq9+jzZcvpyGZmGIPxcg3OdF3GdqsyKGafhLNYXuPCcV42s+uOSgNwl5e+a1DMDku wK6B+XyCO8cqEdiW9hzEEkV1WzuephzWi4Ej4feW4STdsljwDOVbZdx+/svfaSFPA1ulQfbgMQN vQTbmgLcnFrzjzf5WCg== X-Proofpoint-ORIG-GUID: sBWckII6mFn7SwP1JSL22moD2Ke7huJF X-Proofpoint-GUID: sBWckII6mFn7SwP1JSL22moD2Ke7huJF X-Authority-Analysis: v=2.4 cv=E+79Y6dl c=1 sm=1 tr=0 ts=6a568f81 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=07aRgWtaSAiwv9DsM3QA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX9am6hmmnjf+l Y9ZcfZNd5T8y2d9AtrJjyaOiFvvLf0nY/Y96kDT1VgmoS/wo1L/NL2fWwd849FaIJg3WMapCYx3 9U96GOnxEH7NRkwYUwH+PXHYXv/sS0U= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057772423158500 From: Thomas Huth When trying to plug a PCI device to a Sparc64 machine, you currently have to specify the right bus ("bus=3DpciB"), otherwise you get this error: $ qemu-system-sparc64 -device virtio-scsi-pci qemu-system-sparc64: -device virtio-scsi-pci: PCI: no slot/function available for virtio-scsi-pci, all in use or reserved This is quite annoying for the unexperienced users, and it also breaks e.g. the iotests ("make check-block") when running with qemu-system-sparc64. Mark the non-usable PCI busses as full now, so that QEMU can automatically plug new PCI devices to the right "pciB" bus. Signed-off-by: Thomas Huth Message-ID: <20260309181452.83702-1-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sparc64/sun4u.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index d69ed9a81ac..a348096aee6 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -719,6 +719,13 @@ static void sun4uv_init(MemoryRegion *address_space_me= m, fw_cfg_add_i16(fw_cfg, FW_CFG_SPARC64_DEPTH, graphic_depth); =20 qemu_register_boot_set(fw_cfg_boot_set, fw_cfg); + + /* + * Mark internal PCI busses as full so that the plugging of additional + * PCI devices happens on the right bus that still has free slots: + */ + qbus_mark_full(&pci_bus->qbus); + qbus_mark_full(&pci_busA->qbus); } =20 enum { --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057812; cv=none; d=zohomail.com; s=zohoarc; b=gYtgBQKyb32LDAG9rsEo+eqDlNibRF7dh6WPsdF+oJZ7oH95W40Hz7Efkck5Np3msHavEE42DO/yCz2jTq5tA6NNSbCaJUoJ0o0Hc+D+0o7ECkzROes6ZoBWT3Jgdge7NOaOqNH4ReNQJm9RvNcZGYfdh39W1iLMxf3TTOHydJo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057812; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=AAg4l5aVFWEwq3R0aucwet6adyc7RK054iMvcKAzyno=; b=Y35CH9UVJGvXH0toJZZ9Jbq27InLwzHgk4LdYVTNpVqj4N6xx0nyyYfMitsdRXMKwBmmC4+WQ46mbfvadrI5/V15IdbFfJfD2HYQVK+HKpOj6Ai7s5hz4/xv9cef5adKUMYqjZqXiW3gKz0YvrYhkJ9QQcMqfzC1NebF7iJTDHo= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057812438173.3532252112451; Tue, 14 Jul 2026 12:36:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiuz-0001YM-HQ; Tue, 14 Jul 2026 15:35:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiup-0001XL-Ic for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:39 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiun-00051f-Sv for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:39 -0400 Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwpCK1390406 for ; Tue, 14 Jul 2026 19:35:37 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdnnr1hyv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:35:36 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1ada6c43so71683501cf.3 for ; Tue, 14 Jul 2026 12:35:36 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950a33a926sm88673315e9.15.2026.07.14.12.35.34 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:35:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= AAg4l5aVFWEwq3R0aucwet6adyc7RK054iMvcKAzyno=; b=d7wpkd5sJ/jMigG3 H3jRhnWBzLrcSTlJqApdZB56gpkjTd+CuxEavwGafpDqq07YcUzQKjVqi0OO/SMw Zy7tIxJXHb21mg9f9ZbfnN6Rf0GJ2no3gBYrcC/vaFNZsNpzdHBvd6pCx9ZynSUE R2FDM1SwphqQLrDsy2XqXCWkqeNgFdiZW0/1KzxdL0ET2uOa/NE1/FQnUx5C9TLR 6QBHMd92L6ZRn0QYdbquC+n9SG9OFptxQjiw1r8ifmvlFldvkCHhsarOCET/IrbN DeMn3EMze8jlaIKdgTvg6jkQHDY3k0tvRw3pStmgQ6HEM3pqbnZhmtFTRf6QQEY3 ug6N8g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057736; x=1784662536; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=AAg4l5aVFWEwq3R0aucwet6adyc7RK054iMvcKAzyno=; b=ceiADwbVUQPkci2x8uwsc99a0YlyTVNCQTzUmuvxIThLhLQSrX2sDpskJIzaO94S1d MwQJODS2q5hb87xCphvujEunqrxNbWvPBdjTQztnUj4LY4ajU0MMbiQLeawnTldZoGNB RC0NFTOky9NBy0jFfVPiB2PGewk07hVxbTFWMRQIY4WJloOo7tucOGQBqMyR5xh3TSeB V4v2FmjTWvan5y4ZG5+2NVdTOndZMis4Kj5Yzflmwd6CSejtXyGvfXuHqZ9A6MpQgEGW /kfg6c2Lvih1P2QB/pNc0BnWihLLK6mAs3fLoeuG73WeffQ6ihzn4pqt/hng/2Iz0KZF UFRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057736; x=1784662536; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=AAg4l5aVFWEwq3R0aucwet6adyc7RK054iMvcKAzyno=; b=cKH4ReNxK93PQEhGjd1ZbxxYyHF3vz+H+eJP2DLvZoi0qMoTAKh81Hf9ia6k5FeK0M ZHGGVv1jBfZffKoFw3RmxX3JC1U+GkEt599rcgpzqYlShDF3QegYaRJ0sMY7+hK/3dm2 l3XvsfrRJDnZVEzlzn/X0ME48vBdv20zMRz8cUzn4UlDOi/vA5KzpoyzA+58cO+O+s0P fGlwhYqF+ZobKpb7cbOhM8EdQ7lbwENyWMrWvGHyG/XD0janoY2btz2k6j1dwuXXqtlQ ORW7GdJlXSG1RsoCx++xx27ifXccjOC1ED/QypId5uIjFboji21s/KcKMVPOIferv7ga 19lg== X-Gm-Message-State: AOJu0Yx7DgDMldTZ4sbbBEVWOppExOugxSO/EODl+ONT3flRq+Xycbmr DhLAbHIHG5KijO1mcrWTEDT/lPBYWXowUfyArZhYvZmqkW+vrWFOy+cElItP5Qu8nt3bc/lkNbe fYbP2SVmt6Xzm0MhbMH70BuC64Fxmh62mBqgHIAtsF78M2ynr1RQlHibcPTkXvft+AQ== X-Gm-Gg: AfdE7clLsz0Hd0YtEADzGvyHpy5vvN+7SjbC/7Aksqr5aKqtqiPYrKxOgyAxWn9WdKz ehy6rbNPBGbe1S/r3F7Zr/pcTWkOzcNwna5RQ9i32pypTum4NFRqoGF4ZSF2F4DyB4RZsJ1lIFv OKWBBovHaCmOg1H1xOx1jhMUs+W6VpQrkn2DG1SdoWN2jbLxpH9mgsE1tPF/k/fZNEjJYej/miv ep2xxqLT0JKmnoyapbXEqV4XlmlBxXFcjAn3b22xizrCsnS01dKTzQhp2qbjQo3HXH0qZ+IdD9X 6/36ks+q6Gm509Ol5gr4my1MIv+xDXjMEkLnA2D5bQlO4o2bIPGooQMVhK2uGspTI7D3THpTO4W BOMtVzc9XDZubjgYnJmqAcpwt+9Z9IwGZod9rHra/xc94LbXiUxmy9zNMc7qwmXGHHnhy X-Received: by 2002:a05:622a:1310:b0:517:87df:d8ec with SMTP id d75a77b69052e-51e4edde22fmr623571cf.9.1784057736240; Tue, 14 Jul 2026 12:35:36 -0700 (PDT) X-Received: by 2002:a05:622a:1310:b0:517:87df:d8ec with SMTP id d75a77b69052e-51e4edde22fmr623331cf.9.1784057735882; Tue, 14 Jul 2026 12:35:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 02/13] hw/misc/ivshmem: clear chardev handlers before freeing peers Date: Tue, 14 Jul 2026 21:35:06 +0200 Message-ID: <20260714193517.60708-3-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX4jDjYVg1CYFg Z+Gu9PiTte17xVtvVD0hdTTMeIdTkJIpAAXZfyDnXkqLaiMFcN1qSHs9L7pZ+3drJRJZklim+vd 2r0NzrLRmOH9by7eR4DovjS+vyHpZIw= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX7RCwqRNpk0xq wtaoyC5MkOWknV2c3JBL8a+UQO5Mb2rkF8YJBPs/7LIKlezcfpljJvRtxaT/9VrDELU7uUq+xNi N36Uazum7uDIS6uMgtth3cojEpK81JnFifE4H4aBDVCJtV6xY5zazKt3X7A+KTFsCrr1bw5ji+6 jLHBAMYBWR9BVRsvaBenlskJwZZZFJdXNQ+BrATSYdwELWZyLfpiYdqWTjXtkEllm30oaIWbf/4 FPPy9835mEiK0Of8LSa+UNGfgrBI08U9XCeqEgNM+l0//frHxi+VDYEgRUgVndIVUo7oYgNdgxm q1nI3z/WqwIfsRVkdhSYuKYWgTcx9LgOJW6Vp4dV7f0ecYhJo1J610kcjNoMGznjFvQOv1+c1NX rHKcroBrwnDVzoR69m7TFJFIr2pixYv8H78uQwZV0GqVrjKEjll/eH8iHjA4A319V46HLmyfvBI y/3oGs74zhIDOnTGVig== X-Proofpoint-ORIG-GUID: 4IhaZNDl5syMvtgGRid5xP37mRgZ0ODJ X-Authority-Analysis: v=2.4 cv=NfPWEWD4 c=1 sm=1 tr=0 ts=6a568f88 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=p0WdMEafAAAA:8 a=GvQkQWPkAAAA:8 a=69wJf7TsAAAA:8 a=dZbOZ2KzAAAA:8 a=EUspDBNiAAAA:8 a=lzdz0VZZnxX6qFVvEIQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=Fg1AiH1G6rFz08G2ETeA:22 X-Proofpoint-GUID: 4IhaZNDl5syMvtgGRid5xP37mRgZ0ODJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 phishscore=0 clxscore=1015 spamscore=0 suspectscore=0 bulkscore=0 impostorscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057814187158500 From: Haotian Jiang ivshmem_exit() frees s->peers and s->msi_vectors but does not clear the chardev handlers registered in ivshmem_common_realize(). Those handlers are only removed later in object_finalize() via release_chr, which runs after ivshmem_exit(). Between exit and finalize, ivshmem_read() can fire on pending chardev data and process_msg_connect() dereferences the freed s->peers. Additionally, s->peers, s->nb_peers, and s->msi_vectors are not zeroed after free, leaving dangling pointers that make the UAF code paths reachable. Fix by clearing chardev handlers at the beginning of ivshmem_exit(), before any resources they access are freed, and nullifying freed pointers. Cc: qemu-stable@nongnu.org Fixes: f64a078d45a ("ivshmem: fix pci_ivshmem_exit()") Link: https://gitlab.com/qemu-project/qemu/-/work_items/3594 Reported-by: Haotian Jiang Signed-off-by: Haotian Jiang Message-ID: Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/ivshmem-pci.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hw/misc/ivshmem-pci.c b/hw/misc/ivshmem-pci.c index 536475e9de8..372e9dc58df 100644 --- a/hw/misc/ivshmem-pci.c +++ b/hw/misc/ivshmem-pci.c @@ -938,6 +938,9 @@ static void ivshmem_exit(PCIDevice *dev) IVShmemState *s =3D IVSHMEM_COMMON(dev); int i; =20 + qemu_chr_fe_set_handlers(&s->server_chr, + NULL, NULL, NULL, NULL, NULL, NULL, true); + migrate_del_blocker(&s->migration_blocker); =20 if (memory_region_is_mapped(s->ivshmem_bar2)) { @@ -966,6 +969,8 @@ static void ivshmem_exit(PCIDevice *dev) close_peer_eventfds(s, i); } g_free(s->peers); + s->peers =3D NULL; + s->nb_peers =3D 0; } =20 if (ivshmem_has_feature(s, IVSHMEM_MSI)) { @@ -973,6 +978,7 @@ static void ivshmem_exit(PCIDevice *dev) } =20 g_free(s->msi_vectors); + s->msi_vectors =3D NULL; } =20 static int ivshmem_pre_load(void *opaque) --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057818; cv=none; d=zohomail.com; s=zohoarc; b=L80oiqr8DZKqVCULEUU5JLSdQA1Xc6nGGjGu+X1leK2QYskO2TgmfO541acyBlr6fYzAhiyj2fVgwPYMbtqd3gTDCPjY/zYP/yY+PvFjW0rkyimNu19zihWRVSgeKFwlRpsTiQcR3djoni0P+wfGBR8zys4YP8bonqzVOS0NFEI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057818; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=2gT/f+7rNUOz44SiKCldN288jWx7NqogwOp56DfNUVg=; b=eJnCVjUCw/9jWFQKt0xTEPjH5lm+27Mu2g7C3mpUYiVOpbujDC63+IQa1L3BoVFI9XrEB7zvsY4PEvYXRTKD+qpx4NrKujPNSOpzMUNRuFXgvTIBzA/cUZpNAhfBbwGWmCLEFnhGPv+rSgg1khTpKWxBCcrQxAbi86ZOZGhU7B4= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057818617164.5601715825195; Tue, 14 Jul 2026 12:36:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiv1-0001Yh-16; Tue, 14 Jul 2026 15:35:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiuz-0001YH-0h for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:49 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiuw-00055N-Kx for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:48 -0400 Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwE1b1267117 for ; Tue, 14 Jul 2026 19:35:45 GMT Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdnp0hkfa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:35:45 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51bf321d786so17600381cf.1 for ; Tue, 14 Jul 2026 12:35:44 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49506a1fbcesm97349685e9.0.2026.07.14.12.35.42 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2gT/f+7rNUOz44SiKCldN288jWx7NqogwOp56DfNUVg=; b=HigVHhp6z3lA3EKS 5WJQ8Oqm1VFf2lFfcw15Bz9Huz+X8479Z24ZoXqJJilooR/y/u4j24GpECJLo+Nq ItOg65ab/VkfG/RdrvhX2sBTmRS/Is5vjkq9+rB/JhmAIdKYoti2AlLCfGezbxSy Ad5jFkCrYtiwu3p834oQXY/1upK8G43Gs2V9wRxQFuXgvOlOE2AgSoqmi+DRuCWI cGMqkaMwm6qre2cW3GOPApW9q/Mt9e3UbPaHETAByz6tG8CS2h2zYgCE/hu/Moa7 6uuaajZq6QsY/IZps8OdKNgvfMhYT5v0wlAnASsrXaD/Bgdnn9w5BdabLY2Gg8/F 8YC5NA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057744; x=1784662544; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=2gT/f+7rNUOz44SiKCldN288jWx7NqogwOp56DfNUVg=; b=aEOne7rV1gHTPX6fNcshqZApGSEWRA2hWq134TxVfsa/WuZawWQ7bXoxyy6z3i2P9P 6k+ffjlyW/ZtPvasL01ry9l18qthLqZENN3wDHcRtQcMIpVGGGpzwZKrqESh0MnQB9rB eTF0orjO2jijdrX0O6Wwu7leSO9zRtCxEg3GxjlI4RM6k9O60Ru3fIXAeQGFvdABqQia aZp4pBf56LosQ/nE50kCIPlrGISE4mL1cf2t5/8f5L6jBBvN9YNnop0S6E0T2Uefxs0f e3WrsdW2Zdigleu3I8a/0XzdmcPAUi1owGiH7tpzq0tHyy8kjbTIHpk8pG9q4pWMZq7a 019A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057744; x=1784662544; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=2gT/f+7rNUOz44SiKCldN288jWx7NqogwOp56DfNUVg=; b=diENIx0S4LWOj0ZglkzbVP8zXyJi8RjyXU166KltKNyrMd4KKIxMkY/uQotOvJ9Fc8 c/lFKymrzjv/dZGrCObm+hbd11mHSPsxbtIzG3RZLZhFCGM5reak6psvJMO3lFaDTXJD DPVJn4gqRy/jTubsCdYeQeN+qj1LXComslyNfaBB8i1zelkwXscZiMwfpir69UKquSk/ jx89+CMF+f5QtCSm0xmZ3qvmUK7Tvw8jX+KB3bimQ/aLpWX1t1lekCC7RhgXhukZBbN/ kZlmKpwxoC9+exQNyfoZU1RlisAXI92H57CJajQeWgz7D34YrxV9Q9K8o0sfAIqnUEQK D86Q== X-Gm-Message-State: AOJu0YytUxHZG8vzeU2+y3HDKIgFnXtyF3GkDuqzgZEJ7/AnO3V7b2po rqNuKx440cZIilWoyEHXlMqtLJu5H0fDVWmX9N/FgbJUDet/6fUz+8LGwTSJ00VxC8uslCXTpJa 0CQSd7xOJdVIfSE7vJrkMCVamFCCeWN7QSbeKh1yICLmZwhcIMQu6lx7dxIgDGFtjcg== X-Gm-Gg: AfdE7cnJjEHod+PGDghPgJTM1NifzdBuY/knKiQ77o/+gD8voIetSwnFCfZ7cw3Q1SW 9t5zylXZuYi0YV3QpbxBxnlqtHxOQzM9YrF93rph4xe2ih/MZiEbvnfO5yef8Oc8k7S36b2aok7 5TzYUFHSNUgkfwJtegKN7p3ZmyrrotUxdtHd3qiZD/RPwS+XKoEfEfiEdolYa0omCPR67FHWNDl my0q7clmcLf8vmKyIhu/tAB83tqmVGaXFUfLLoguKE7+y9Cj8ZD5WqQRvNj5LEUdU9Gh8EBI417 9Rq3qURb2GFFTtxAdTBtf1cPb5gJIAPqWuJgn/vZH5+fwFNYMUDLw5uIhyUKyp8mlRqgybEP0+m P6bdSMP5ex+Ll6ZQsETREmpDJgbP3VZ49LOz7cFG/9T4YwHgOMcRgr5PQzgNa2pbq+JNn X-Received: by 2002:ac8:57ca:0:b0:51c:b8fa:395b with SMTP id d75a77b69052e-51cbf27f76dmr145284731cf.66.1784057743781; Tue, 14 Jul 2026 12:35:43 -0700 (PDT) X-Received: by 2002:ac8:57ca:0:b0:51c:b8fa:395b with SMTP id d75a77b69052e-51cbf27f76dmr145284491cf.66.1784057743027; Tue, 14 Jul 2026 12:35:43 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 03/13] docs/devel: Document SSI dummy-cycle ownership Date: Tue, 14 Jul 2026 21:35:07 +0200 Message-ID: <20260714193517.60708-4-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXyKXzq+2+dmpR n73ToMFY7qt93nu16VTdsA8ZtbgPS4LYDstku+bT93rFI4WwpWCged/YyV6POXhZaE22Y88PFBu Bsgm2powHcXxuQFud2+ZvEKEHL5j+h4= X-Proofpoint-GUID: 5VZNzIkxX59a2ig3C1XcKMDQS_qrdO7d X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXx0yCBoLioH1c SlR68FubKI0eZbtiL2/UDtk4eafq5Mry5UHfVPK6B+WgcfNTO2RFXw1SZYFydzLEoEifeL7R+sN eyCoqNjWWXCEvMq3uBZyocNEkTReUUtTOzXdJ1Jr4LR/MI7K60fPp3kTbjlxVNvtqovlWfGyIpD luhGYCTcDT/WWqcXV15Z4gG7MEzpWFYsOlHbfXvSqMUKeqc9ktf5oBgF9wn4UrA14cKY1uBlbsj JZWV/kon69dfM64Hvk0Ul7KyDT5WbxOuQpXFyssR68IQih/HW4w0SPJhf5RPPSwcZ7jfzRIHhhf 5m1w2GOBWSGswwHnSWRt4YVDz9WTFkNPhackls0GCSoWK/L05pEvhUFOF9MqTwm9W1BchwqBw3R /J6kuiAycA54iED3QaNe3zpbLPJWmlrrNQdy6E8A6Eqhwogplc9jrOD1TRAAuL3mxXQdAbClAMW OPfkyMMv+LcMb/5LrSA== X-Authority-Analysis: v=2.4 cv=FtM1OWrq c=1 sm=1 tr=0 ts=6a568f91 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=NEAV23lmAAAA:8 a=FRSEYCzRAAAA:8 a=EUspDBNiAAAA:8 a=SQy2IqWyL_sr42ozp8oA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 a=H4N_Y-AU75W7NKDNhZlT:22 X-Proofpoint-ORIG-GUID: 5VZNzIkxX59a2ig3C1XcKMDQS_qrdO7d X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 impostorscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057820282158500 From: Bin Meng Document the boundary between SPI/SSI controller models and SPI flash models when representing fast-read dummy cycles. It explains that flash models own command semantics, while controllers own hardware-generated dummy transfers and cycle-to-byte conversion. Signed-off-by: Bin Meng Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260707083431.219671-11-bin.meng@processmission.com> [PMD: Update MAINTAINERS] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- MAINTAINERS | 1 + docs/devel/index-internals.rst | 1 + docs/devel/ssi.rst | 132 +++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+) create mode 100644 docs/devel/ssi.rst diff --git a/MAINTAINERS b/MAINTAINERS index ecb8cfdc41e..f06a2788065 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2350,6 +2350,7 @@ T: git https://github.com/bonzini/qemu.git scsi-next SSI M: Alistair Francis S: Maintained +F: docs/devel/ssi.rst F: hw/ssi/* F: hw/block/m25p80* F: include/hw/ssi/ssi.h diff --git a/docs/devel/index-internals.rst b/docs/devel/index-internals.rst index b89bab9b306..a8f5e310df3 100644 --- a/docs/devel/index-internals.rst +++ b/docs/devel/index-internals.rst @@ -20,6 +20,7 @@ Details about QEMU's various subsystems including how to = add features to them. reset s390-cpu-topology s390-dasd-ipl + ssi tracing uefi-vars vfio-iommufd diff --git a/docs/devel/ssi.rst b/docs/devel/ssi.rst new file mode 100644 index 00000000000..864b5d93204 --- /dev/null +++ b/docs/devel/ssi.rst @@ -0,0 +1,132 @@ +=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 +SSI devices and SPI flash models +=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 + +QEMU's Synchronous Serial Interface (SSI) bus models the full-duplex trans= fer +of words between a controller and one selected peripheral. Most SPI flash +models, including ``m25p80``, are attached to controllers through this bus. + +This page documents the expected boundary between a controller model and a +flash model for SPI fast-read dummy cycles. The boundary is important beca= use +many real controllers expose dummy-cycle configuration in registers, while= the +flash model observes only the byte stream delivered through ``ssi_transfer= ()``. + +SSI transfer granularity +------------------------ + +``ssi_transfer()`` transfers one SSI word. Flash models that implement com= mon +SPI NOR command streams usually consume one 8-bit word at a time: + +* command opcode; +* address bytes; +* optional mode or continuous-read bytes; +* dummy bytes; +* data bytes. + +The SSI core does not model individual clock edges or the number of active= SPI +data lines. If a real transaction has a dummy phase expressed in clock cyc= les, +the device model that generates transfers on the SSI bus must represent th= at +phase as a number of dummy byte transfers. + +Flash model responsibilities +---------------------------- + +A SPI flash model owns the command semantics for the flash device: + +* which opcodes are recognized; +* how many address bytes are required; +* whether a command has mode bytes; +* how many dummy bytes must be consumed before data can be returned; +* manufacturer-specific differences in fast-read command behavior. + +For the ``m25p80`` model, ``needed_bytes`` is a byte count. It must not st= ore +raw dummy cycles. When a flash datasheet describes the dummy phase in cycl= es, +the flash model converts the cycles to bytes using the bus width used for = the +dummy phase:: + + dummy_bytes =3D DIV_ROUND_UP(dummy_cycles * dummy_bus_width, 8) + +For SPI NOR fast-read commands modeled by ``m25p80``, the dummy phase foll= ows +the address phase width. For example, output-only dual and quad read comma= nds +such as DOR and QOR use one line for command, address, and dummy phases, t= hen +use two or four lines only for the data phase. Dual I/O and Quad I/O comma= nds +such as DIOR and QIOR use the wider bus for both address and dummy phases. + +If the exact dummy phase cannot be represented as a whole number of SSI by= te +transfers, the model should round up and log the limitation instead of sil= ently +treating cycles as bytes. + +Controller model responsibilities +--------------------------------- + +A controller model owns the behavior of the controller hardware: + +* how guest-visible registers select command, address width, bus width, and + dummy-cycle count; +* whether the guest supplies dummy bytes in a transmit FIFO; +* whether the controller itself generates the dummy phase for a memory-map= ped, + direct-read, or other automatic transfer mode; +* how chip-select state changes around controller-generated transfers. + +When guest software writes dummy bytes into a transmit FIFO or manual tran= sfer +path, the controller should pass those bytes to ``ssi_transfer()`` like any +other guest-provided byte. It should not add more dummy transfers on behal= f of +the flash. + +When hardware registers instruct the controller to generate a dummy phase,= the +controller must emit dummy byte transfers before data transfers reach the = flash +model. The controller should convert the configured cycle count using the = bus +width that the controller uses during the dummy phase. For example: + +* 8 dummy cycles on a single data line become 1 dummy byte; +* 8 dummy cycles on two data lines become 2 dummy bytes; +* 8 dummy cycles on four data lines become 4 dummy bytes. + +The controller should not duplicate flash-specific opcode tables merely to +guess which commands need dummy cycles. In automatic modes the controller +already has enough hardware configuration to know whether it must generate= a +dummy phase. In manual modes the guest-provided byte stream is authoritati= ve. + +Avoiding double counting +------------------------ + +Exactly one side should generate each dummy byte transfer seen by the flas= h: + +* If the guest sends dummy bytes through the controller, the controller fo= rwards + them and the flash consumes them. +* If the guest programs a controller dummy-cycle register, the controller + converts those cycles to dummy byte transfers and the flash consumes the= m. +* The flash may know that a command requires dummy bytes, but it does not = create + transfers on the SSI bus. + +Do not implement controller-side snooping that watches manual-mode opcode +streams and injects extra dummy transfers based on flash opcodes. That mix= es +flash command semantics into the controller and is fragile when flash mode= ls +gain correct dummy-byte accounting. + +Examples in the tree +-------------------- + +The following models illustrate the boundary: + +* ``hw/block/m25p80.c`` keeps fast-read dummy requirements as byte counts = in + ``needed_bytes``. Manufacturer-specific helpers convert datasheet dummy + cycles to the byte stream expected by the model. +* ``hw/ssi/aspeed_smc.c`` generates dummy byte transfers for direct fast-r= ead + mode from controller registers, but manual user-mode writes are forwarde= d as + guest-provided bytes. +* ``hw/ssi/npcm7xx_fiu.c`` converts the direct-read dummy configuration to= the + number of dummy byte transfers sent before reading data. + +Review checklist +---------------- + +When adding or changing a SPI flash controller or flash model, check: + +* Are dummy counts stored in byte units when they drive flash state machin= es? +* If a hardware register stores cycles, is the conversion to bytes based o= n the + bus width of the dummy phase? +* Are manual guest-provided dummy bytes forwarded without extra injection? +* Are automatic controller-generated dummy phases modeled by the controlle= r? +* Is flash-specific opcode knowledge kept in the flash model rather than c= opied + into controller snooping paths? --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057773; cv=none; d=zohomail.com; s=zohoarc; b=i3JhO/jd+kLWOd8ewMRuvQWvLMBkplay+TCX5r4ldBmsctvt+i5qr/i9o2C0X1tpd92sFaEj0mFNyQHxW1VxMwRjH5eMTIfD4uVSOCK0QLMNPeo8fjMZFyKksztEVw9x8eRUYhH9/gxTbwOYd9kqn8xe3ZxTiBYQFaGfrmXi9Ks= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057773; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Wi/yH2BAkmWSY8q/5WbL83633G2Lv6HztDay1MN7yEE=; b=A33QsI37275YOJOqp40zNgGo9c6KONWf6Xb5JcMW6CIe5Ng0dhvjmRIDcLMhweUGQ8uylzhBZN84qsleMtLH/U5gBZWt6oua+gZUnFUg83pIsCGuH68/4qhkPhsRBStWBnoo6s5goAwGpG+8CT/1z2xisioh0oMHhMNwtnWeP90= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057773619365.55094525164327; Tue, 14 Jul 2026 12:36:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiv5-0001ZE-Oy; Tue, 14 Jul 2026 15:35:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiv4-0001Z6-V0 for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:54 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiv3-00055l-2x for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:35:54 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIxKaF1481546 for ; Tue, 14 Jul 2026 19:35:52 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdgudjt14-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:35:51 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c0d6a2f4cso73393831cf.3 for ; Tue, 14 Jul 2026 12:35:51 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950873270esm89620715e9.6.2026.07.14.12.35.49 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:35:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Wi/yH2BAkmWSY8q/5WbL83633G2Lv6HztDay1MN7yEE=; b=Z/6heRxQMkB5oRYY 1CiCqcVIVKK7uH+M6nnS6pazAL5wVgVYwFDoUzIRM0fIO05lYvNT1xy3GCkK5ew1 g2MR7gmo7Fr1NQqmzmDnUj9/iy4JQDrlM8BL6iFyIw28Rl9yFKIV8x8tvh2sfnhQ qBijrInN/Jl5++cMLlnPDBjwAzstTFhCpP5x3iShIjuJ8XDX8uxWqlEFzaMP58EK wMP2GSMKGg28+AU6eieFKgnIKug457eTXQ/ubNjY+K9vU9nZ7ghrAhyQfRCWsyJf PXqu0nWj2PBJvWHge4cl6GPXeMTk4UKkCBQW6FhsWTVDeFWsJw1hef75EO8n08nE aJaptQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057751; x=1784662551; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Wi/yH2BAkmWSY8q/5WbL83633G2Lv6HztDay1MN7yEE=; b=jW1flvxqCqVIX4Ge1qWaiP91Sxu11F+Pq+VWtkPTOGxM7Vpu08zuqvzSX8ikaOwIeI 3MAYKx7yJqWkYKbpc6H6l7y4k/3nTllQoKxJZkpPEgNJEHz0Izq16ZF9F7wiRNg0oeeJ E9rg7NuNR+bnNBgzRU1fBTtn4VRd7KpTDVk2oh5Ps+FncH2OEx7crv2aqRfidsqyOwPR rT/DOPp0MwZMfQMXD/oZCHYrP/7Ze99e26rlfnvxZjnC4YJFGyUp9cDz3CBeAL117Iqo YFrzJLT7WJb3wbmfFW3sdd9Db5fMEE7cJvDBO6juvUuXUWmEAdzpHAoT0sDIQcJtI0KH pYKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057751; x=1784662551; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Wi/yH2BAkmWSY8q/5WbL83633G2Lv6HztDay1MN7yEE=; b=SqI9UiW3Tpnov1c9pTCbpCL3Ddue/fn/NEctmwGh41QRDdugjEwJBPh13BQ120iL/C wtWIHa4CsulIq1uOv/2zwHjdkFrFMkbGGV2EqkT9hETNvcUXngjJnpgq9iFdK7ZAf1tY IYAoN5IfD6d5VGGBVxe94ZXHizvQYR5X/dCW7k1GsuKv4PDU9eQgXrOoiUaOGM1KZ8Ue NcHUNSN+gizD2pbSZzrW2K1LIEatbSbfoL9WikySMhHJd69ze37cQIjW2szJsjrKiz8o fV35g5exYkF9jor0PMTuqwuXJxp8NOPtzLXMeEx89bpFDfr9OKniva/Cm49y9TqcLb8n ao4A== X-Gm-Message-State: AOJu0YwTj4Sk38rtEzAx2FhKXHEVWa+2oMmOMUPMyD2wYqqCRyG22WTy lbFGRHidihT83WO06itZMV4AOAgpk0kVN5c7JBik1VFdEj6AykyrF9hOs1GbTNNz1PeR0eNZIYF Kczcd/YL/pcXAgYFCO1ePCRxCQ/keTncFw704J2N8s9i7UdhTFBTWUKhQiPNctilFow== X-Gm-Gg: AfdE7cm0SRTP5tUW/glrCBpDlPpMe5pDfhZGQRMvHlxF5bldC3eGR7Mpj5eEHsDQPD5 jAbjlxePWJHE/WKU8SqgSINm/OjeI6It/i3QGuHFu3dUJveU0npyExNsAfJouIapxCebmTKXErW G9rB0AbP/Irwh2IoEgDTjCIJgdZZVlHYwfL+ZaaTusHWHvLnHRp+7mZ+V1mS0iz3dDmi/WIncev N7FhyY7dFSZ6fJIRCFGydTIqvCWcbiGT906+q6zSxr64sVjUU6f5KbkIV2J4Mgg8SKdRlJ7dd1j ppHMO8LFN0Uli+WuM0uZfIQgvpDyN7JI+Vdy8t1K8FUKlmFDDq/KR9S6rhfZr6sKxv6p+5L5PgH RVMC+I/5tWwRiVjs6SC+iMBVxLfhixpW+nGEKUTX65taCvVjNCLlQU9LxaURVlZVJapkk X-Received: by 2002:a05:622a:1c18:b0:51c:7b12:6000 with SMTP id d75a77b69052e-51e4f22de1fmr204061cf.76.1784057751247; Tue, 14 Jul 2026 12:35:51 -0700 (PDT) X-Received: by 2002:a05:622a:1c18:b0:51c:7b12:6000 with SMTP id d75a77b69052e-51e4f22de1fmr203671cf.76.1784057750475; Tue, 14 Jul 2026 12:35:50 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 04/13] hw/scsi/vmw_pvscsi: translate data endianness Date: Tue, 14 Jul 2026 21:35:08 +0200 Message-ID: <20260714193517.60708-5-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: UGqz76woKj9P9O-5XoTnNlrvPo6Nm1wP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX3EdIwhDXHxBm thXJYykuU/I+W2qEke8/3wNyYbXPmBF4ChlazK4XjOOu9eNHIpeND/HUR6ymn1dOVSWyCWET1U3 x5yq4SADWJqp5Ir93OVGBddDSLuBLqqPTnZX/321ylvqTG5SUI3RZI33+rvgWYsfAyMsumI5nkj jhWx5n0yNEbUconf5r0sW1lUagJnQq+BmJ22aKeTashVcx2thWANTZC4DbGyjYYdgyZcgC/b3+j a3z9loZQW+dmKEtnQSfSj52oUjDKquPwrFg9sSsdbXyGr6cs5Mi2V7dzrNXwJ7HGB2wQaq36sek OCaDRFksUjRHqMgP5ajAt6/Uq/TJbXWP46s217WDfqaDiUG0MraHQREo3RzmuzbdyLqhdh6wKSD HT1k13Rc0lAhXRbRlXA2zEOWvA9j2woTRuzLp2cK1yWFWWxey3tLHzcQLdmm4RGClWkGp1UtrcO fk+Xt8DyHSn9AOAtMpg== X-Authority-Analysis: v=2.4 cv=T/O8ifKQ c=1 sm=1 tr=0 ts=6a568f98 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=bo06jjfrt4HcdEXMXB8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX3pgsqJ019/Fe TqZ9ih24ChMdj1FsLMhcKDoiwWSb+EQbEyVBgiuTX+pOBV5+85EdfackqWIGG2HTiBhCrPLyZeW V2fHqC31ieoiwry7jgdEkAgDGjJzkxo= X-Proofpoint-ORIG-GUID: UGqz76woKj9P9O-5XoTnNlrvPo6Nm1wP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 adultscore=0 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057775760158500 From: Miao Wang This patch improves the implementation of the pvscsi device by translating the endianness of the data sent or received from the guest. This ensures pvscsi can work on big-endian hosts with little-endian guests. This patch assumes, although not having found any specifications, that the pvscsi device is little-endian, since pvscsi seems to be used only on x86 platforms, which are little-endian. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Miao Wang Message-ID: <20260710-pvscsi-endianness-v3-1-27fe1c4d1f6e@gmail.com> [PMD: Rebased on top of commit cb30b8758d4 physmem API conversion] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/vmw_pvscsi.c | 57 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index 4398aa54990..05f93171cd7 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -392,9 +392,18 @@ static void pvscsi_cmp_ring_put(PVSCSIState *s, struct PVSCSIRingCmpDesc *cmp_desc) { hwaddr cmp_descr_pa; + PVSCSIRingCmpDesc cmp_desc_conv; =20 cmp_descr_pa =3D pvscsi_ring_pop_cmp_descr(&s->rings); trace_pvscsi_cmp_ring_put(cmp_descr_pa); + cmp_desc_conv =3D (struct PVSCSIRingCmpDesc) { + .context =3D cpu_to_le64(cmp_desc->context), + .dataLen =3D cpu_to_le64(cmp_desc->dataLen), + .senseLen =3D cpu_to_le32(cmp_desc->senseLen), + .hostStatus =3D cpu_to_le16(cmp_desc->hostStatus), + .scsiStatus =3D cpu_to_le16(cmp_desc->scsiStatus), + }; + cmp_desc =3D &cmp_desc_conv; physical_memory_write(cmp_descr_pa, cmp_desc, sizeof(*cmp_desc)); } =20 @@ -402,9 +411,18 @@ static void pvscsi_msg_ring_put(PVSCSIState *s, struct PVSCSIRingMsgDesc *msg_desc) { hwaddr msg_descr_pa; + PVSCSIRingMsgDesc msg_desc_conv; + int i; =20 msg_descr_pa =3D pvscsi_ring_pop_msg_descr(&s->rings); trace_pvscsi_msg_ring_put(msg_descr_pa); + msg_desc_conv =3D (PVSCSIRingMsgDesc) { + .type =3D cpu_to_le32(msg_desc->type), + }; + for (i =3D 0; i < ARRAY_SIZE(msg_desc->args); i++) { + msg_desc_conv.args[i] =3D cpu_to_le32(msg_desc->args[i]); + } + msg_desc =3D &msg_desc_conv; physical_memory_write(msg_descr_pa, msg_desc, sizeof(*msg_desc)); } =20 @@ -481,6 +499,9 @@ pvscsi_get_next_sg_elem(PVSCSISGState *sg) struct PVSCSISGElement elem; =20 physical_memory_read(sg->elemAddr, &elem, sizeof(elem)); + elem.addr =3D le64_to_cpu(elem.addr); + elem.length =3D le32_to_cpu(elem.length); + elem.flags =3D le32_to_cpu(elem.flags); if ((elem.flags & ~PVSCSI_KNOWN_FLAGS) !=3D 0) { /* * There is PVSCSI_SGE_FLAG_CHAIN_ELEMENT flag described in @@ -759,6 +780,12 @@ pvscsi_process_io(PVSCSIState *s) =20 trace_pvscsi_process_io(next_descr_pa); physical_memory_read(next_descr_pa, &descr, sizeof(descr)); + descr.context =3D le64_to_cpu(descr.context); + descr.dataAddr =3D le64_to_cpu(descr.dataAddr); + descr.dataLen =3D le64_to_cpu(descr.dataLen); + descr.senseAddr =3D le64_to_cpu(descr.senseAddr); + descr.senseLen =3D le32_to_cpu(descr.senseLen); + descr.flags =3D le32_to_cpu(descr.flags); pvscsi_process_request_descriptor(s, &descr); } =20 @@ -808,6 +835,17 @@ pvscsi_on_cmd_setup_rings(PVSCSIState *s) { PVSCSICmdDescSetupRings *rc =3D (PVSCSICmdDescSetupRings *) s->curr_cmd_data; + PVSCSICmdDescSetupRings translated; + int i; + + translated.reqRingNumPages =3D le32_to_cpu(rc->reqRingNumPages); + translated.cmpRingNumPages =3D le32_to_cpu(rc->cmpRingNumPages); + translated.ringsStatePPN =3D le64_to_cpu(rc->ringsStatePPN); + for (i =3D 0; i < PVSCSI_SETUP_RINGS_MAX_NUM_PAGES; i++) { + translated.reqRingPPNs[i] =3D le64_to_cpu(rc->reqRingPPNs[i]); + translated.cmpRingPPNs[i] =3D le64_to_cpu(rc->cmpRingPPNs[i]); + } + rc =3D &translated; =20 trace_pvscsi_on_cmd_arrived("PVSCSI_CMD_SETUP_RINGS"); =20 @@ -831,6 +869,11 @@ pvscsi_on_cmd_abort(PVSCSIState *s) PVSCSICmdDescAbortCmd *cmd =3D (PVSCSICmdDescAbortCmd *) s->curr_cmd_d= ata; PVSCSIRequest *r, *next; =20 + PVSCSICmdDescAbortCmd translated =3D *cmd; + translated.context =3D le32_to_cpu(cmd->context); + translated.target =3D le32_to_cpu(cmd->target); + cmd =3D &translated; + trace_pvscsi_on_cmd_abort(cmd->context, cmd->target); =20 QTAILQ_FOREACH_SAFE(r, &s->pending_queue, next, next) { @@ -862,6 +905,10 @@ pvscsi_on_cmd_reset_device(PVSCSIState *s) (struct PVSCSICmdDescResetDevice *) s->curr_cmd_data; SCSIDevice *sdev; =20 + PVSCSICmdDescResetDevice translated =3D *cmd; + translated.target =3D le32_to_cpu(cmd->target); + cmd =3D &translated; + sdev =3D pvscsi_device_find(s, 0, cmd->target, cmd->lun, &target_lun); =20 trace_pvscsi_on_cmd_reset_dev(cmd->target, (int) target_lun, sdev); @@ -892,6 +939,14 @@ pvscsi_on_cmd_setup_msg_ring(PVSCSIState *s) { PVSCSICmdDescSetupMsgRing *rc =3D (PVSCSICmdDescSetupMsgRing *) s->curr_cmd_data; + PVSCSICmdDescSetupMsgRing translated =3D *rc; + int i; + + translated.numPages =3D le32_to_cpu(rc->numPages); + for (i =3D 0; i < PVSCSI_SETUP_MSG_RING_MAX_NUM_PAGES; i++) { + translated.ringPPNs[i] =3D le64_to_cpu(rc->ringPPNs[i]); + } + rc =3D &translated; =20 trace_pvscsi_on_cmd_arrived("PVSCSI_CMD_SETUP_MSG_RING"); =20 @@ -994,7 +1049,7 @@ pvscsi_on_command_data(PVSCSIState *s, uint32_t value) size_t bytes_arrived =3D s->curr_cmd_data_cntr * sizeof(uint32_t); =20 assert(bytes_arrived < sizeof(s->curr_cmd_data)); - s->curr_cmd_data[s->curr_cmd_data_cntr++] =3D value; + s->curr_cmd_data[s->curr_cmd_data_cntr++] =3D cpu_to_le32(value); =20 pvscsi_do_command_processing(s); } --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057781; cv=none; d=zohomail.com; s=zohoarc; b=d0CLzsVARXY6k0w4NvhAvLnqxVJaHxlM9hiWvh+W9md/adT4fw+S5VF0QjNSgRc6VH7TAv0gqAV46aKZpSeivlvZe+E4rfNiHB0PeTdHpLmriBpaqtzzqas7qztn7zCapRjFZ5uYm5DzJqwWGd5+CX1kiT6SvkVF6gPiF2wpT40= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057781; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=TTTUEP9IQFjwJMoFTOSlQhorz1cluF6zUO4vNlxDSeY=; b=RifGiZ0G0gN16WpdLwZWqQR9qxSAw+tErdHYq1ag0dsXv1TsvK2oSaUH/dCYmi1R4xodFLIMkmEqdLUCRO7eq3XSqNOxinh2Z68/bbMetfCktlvTM1xQBPM2TH7ViGauEaKxwtzNOnHr9vxyQXX2PpcC9s1p0IGaATFKLiFo7BY= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057781939871.8382371562277; Tue, 14 Jul 2026 12:36:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivG-0001aX-QO; Tue, 14 Jul 2026 15:36:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivE-0001Zw-8W for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:04 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivC-00056A-EF for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:03 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwKiM1137063 for ; Tue, 14 Jul 2026 19:36:01 GMT Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fds9mgfsv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:00 +0000 (GMT) Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8f18c4d1f82so93308226d6.2 for ; Tue, 14 Jul 2026 12:36:00 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950a32c65asm95707755e9.14.2026.07.14.12.35.56 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:35:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= TTTUEP9IQFjwJMoFTOSlQhorz1cluF6zUO4vNlxDSeY=; b=peEAJIgpeXzvdhQU lFBXrHU6l/IOhXhRBZgs5h/vJZgIHYoH1hYcXNHrpDs4h8wYGA69VikiPD4KmKDq pp3J9LCFHonIf0yuWUEIC8pbXrssQJS1Tq+byHLW4/dabI/8hKulkgUeFPICjJcX 2ytvZhQV/ujADybyMh43WZBYIdE4HFSoEQBbfLIEnRnY7g9bgVlkgxW0G+m9e//y c506GdaNuxkU8B/jmb+wf8Fsfa4bzmpsohjG3jZiDnaOD9H3VE0Z2RhoxKof7STx Hxs7qGX97OHkuPGMMlgw+ZsoHnBqJ5qyA1jEHEs8lbE8Y0xeRLkjQLmO87t5AfiX Pbrx9Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057760; x=1784662560; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=TTTUEP9IQFjwJMoFTOSlQhorz1cluF6zUO4vNlxDSeY=; b=gtYT+5k9sC6Wvt9GfZehzv/G+71oj+IQV63LGmxJGaZXVw8PT3tBQ9G9Y8bahSRJd/ TvNAmOvWqOA8Oog+QGFOh4zrb3smHAU3Bc+m5M7Hye4WKmQhICS+PdVdiYxbJwCMnNGL IKLzDz2A1Xo5oxCqkniLU3wGeeLAVp1CdZvcvAggRJvN5KQwJhQcY6jWp18USGTliYyb IKijqsBFQtvIaBmwsmVVVPw9adG9cJhbPimo0cHjmazZDTGTJuZOplx+o6poEJHBATO6 YPSsQVIxJK3PS96EGbdTGlsEhfkBeTslpl8ucnuC3/tln5rs5E0hVgDq1gEWjMA20pEy Yk0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057760; x=1784662560; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=TTTUEP9IQFjwJMoFTOSlQhorz1cluF6zUO4vNlxDSeY=; b=ZhP+ayFGFs064S+grXC7to0KTHGbMzVWw8c3ACKDwwDrqGKfglpaAWV9dc1jhCvw9z xJTGmKTZmfdyOS7Zu4p3TMqhvYyqAoGUx2zuwL5YvWSO4yK1bkqNgFEFea1vPSCZ+YFN vpqFA3B8fdVXqTu2ra+1YofyJzpKQNt8CLAu0NE/VvgITkgDCgXyJgBysPpvaFYB1354 /3CC0rD45zCS81FS3A2YGXRSVbqbZOCF0TKP79hpf7cvesWt+VF8wbZMqKphHf2RvcPQ wGNFWK7tb9Hdd7NF2DCn7JT1nsuyQr+HNfwoKayReLmi9nuoBdt8Wyu0kgEWUb2tRLRm 8d7g== X-Gm-Message-State: AOJu0YwRJISgnUlBObXhCEmDWzEONq+Jgq+Fs1AQRuQ4bs53tPJMOzqt RB+t7zMrPP0F5oy46gJn2L1t7WyMhiC3qYB9aTb5R0eXHUmb4EkDA6wGfMH69C8Clb/1GLKUiMu YMARdO141vOqI4DFVyHCMXz5XMysdEfBi8cu5fn4R6NZ7vg5C56Z8djMNimGK5qW3pg== X-Gm-Gg: AfdE7cmsBUFPjKYLqH7w5y6HDBxieSNICeSP4o6//Bc73PHx4fdq11tM+5Mq3+QVzCC 8cpOEbY49HC59sOMWz81tBhn7iZUhBarswAd+B4TckEz3yboW+5lIaCUqU2oPXus7jPbmcPyIut SsAKKyUtsBOgEkIxE99G4+3QbmvilEj9nlp/iJRdSx59hCpPTNJ3VGJ209Yy5CatJ+ZPKlUfI/N EW+MXpWithykhX8TIDgrv/IUn7avydQ0iXpsVWirf97p9ZoEj6ojMLvqBUWV90VSIpfo8XUj/lz xWGwYOg+6BCuj++Elw93JwuT6bN32iX18Vv0BTNhsuiFnUheCttSZrMEAPQsfB2XLZym9A37qsf hPGq7HtFv6nQW/KMU/1M13LMZj39Uv9G85LTEVWUOdI+QyeEgXZtxO9mbuBWkgcD/h4/C X-Received: by 2002:a05:622a:2b0a:b0:51a:8c9a:8fad with SMTP id d75a77b69052e-51e4f0fd508mr286731cf.62.1784057759735; Tue, 14 Jul 2026 12:35:59 -0700 (PDT) X-Received: by 2002:a05:622a:2b0a:b0:51a:8c9a:8fad with SMTP id d75a77b69052e-51e4f0fd508mr285961cf.62.1784057758160; Tue, 14 Jul 2026 12:35:58 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 05/13] hw/scsi/vmw_pvscsi: add a comment to explain the endianness Date: Tue, 14 Jul 2026 21:35:09 +0200 Message-ID: <20260714193517.60708-6-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX4hJBWzOJ9Taa wTkyRElQZtT0zmsn465PwFX7+vsOBRzLkjLklsmxbXj+o6SLEh8lIr7WycwIk7r6K34w0xKMsm/ 2r62NPA1/plI/eRDf6i5o+jYDiHuGH4cs5hWCdI1BTsMnci9a05w9aNCtL/GF4Vf7JIy9cJcdLb 31obmvXyif6oU50Ba3hsxvJQRNJ46o8s9JDQyR9wNnMUHaL/0cuI6EVhAS2GKM134xFVmK/juKo j1fgFOdLPytwDpb+WtML6vQMH8EbJfjtaFs3zQmb0RNWFPqDL4Z6PsI8XU9+5YkbnyjyQMPjr/h 7UANwyxYdhFBrkJllnCEL5pTEZvG+6dZWWOOaZncBfBMEoeviJOAfK+tELnTTKbmdeDFW6OLgd9 GxrQ64w3NcqYZNC4aRdxNqgaHpwSFvIyAGp+yi5uJ7rS56XCHxU7g+FGeKfv0HBNvUUjFTLGjQW O2uH+koyWjgtAa5PeUg== X-Proofpoint-ORIG-GUID: noERTdC17n-31Pgis8yP0vVvU2jVEjyK X-Proofpoint-GUID: noERTdC17n-31Pgis8yP0vVvU2jVEjyK X-Authority-Analysis: v=2.4 cv=E+79Y6dl c=1 sm=1 tr=0 ts=6a568fa0 cx=c_pps a=7E5Bxpl4vBhpaufnMqZlrw==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=yIBoU1TpJL-JTJq4:21 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=e470PcS5NtvczxIusEMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=pJ04lnu7RYOZP9TFuWaZ:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX8J88xtr+Y5Pm kVJZL2RD74NablDP3yht9/0eT1IVySncuo53A3S/eSjlu6uRs9jlTe78WssBqeSH/egWwpP6Cem hw1glBzHRs+5uUZLLAGKzm+rCa8BIVU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057783864158500 From: Miao Wang Add a comment to explain the endianness of the pvscsi device. We have no information about the endianness should be little-endian or CPU native endian because the current driver code is designed to work only on x86 and is not endianness aware. We assume that the pvscsi device is implicitly little-endian. Signed-off-by: Miao Wang Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260710-pvscsi-endianness-v3-2-27fe1c4d1f6e@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/scsi/vmw_pvscsi.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hw/scsi/vmw_pvscsi.h b/hw/scsi/vmw_pvscsi.h index a3ae517e199..defff9e179e 100644 --- a/hw/scsi/vmw_pvscsi.h +++ b/hw/scsi/vmw_pvscsi.h @@ -108,6 +108,20 @@ enum PVSCSICommands { #define PVSCSI_COMMAND_PROCESSING_FAILED (-1) #define PVSCSI_COMMAND_NOT_ENOUGH_DATA (-2) =20 +/* + * About endianess for the below structs: + * + * These structs are used to describe the data that is exchanged between t= he + * guest and the PVSCSI device. The endianess of the fields in these struc= ts + * is not defined by any standard. The current implemented drivers are des= igned + * to only work on x86 architecture, so there is no endianess awareness in= the + * drivers and thus we have no idea whether the fields should be in little- + * endian or target native endian format. + * + * Considering the above, we assume that PVSCSI is implicitly little-endia= n and + * expect the fields in these structs to be in little-endian format. + */ + /* * Command descriptor for PVSCSI_CMD_RESET_DEVICE -- */ --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057842; cv=none; d=zohomail.com; s=zohoarc; b=FgAmmXUg1l7bAe/I3ltTNTUg7aKDhucTgbjyeyiXCZbjbJpz5F2YFtqVSGdygmD3S1UnhEj/oyzFLq809VFckBcC96ymryfJiy9irVUst3YONwc7zuM6FuPPERGj0GafOxJcD+xQ4lOXBQsbFlB8+Hz+XmEUzQfo1FLMqHEddRo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057842; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=FVZcww5ehdUaMle+W+PQH/YLL7+qw+ENNbaJYAPM3D0=; b=iJntY+q60VyNZHIcirfnJj/I9YhKFj4Tz+TfObdz/zO7JGUHm/64eoHfFQ4CzOGcawd5EjF1mUttELkATAdElRxTdAmu4fkvOFZ41BtOKnAEhzmjXmxUfotshiw63lRzNEQeVtrbKsWFYezkHyEzZbwPO/oi6V6SzCbdmH7DoBg= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057842160990.623362233443; Tue, 14 Jul 2026 12:37:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivN-0001iD-BN; Tue, 14 Jul 2026 15:36:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivL-0001gD-S8 for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:11 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivJ-00056v-P0 for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:11 -0400 Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwM9r1137082 for ; Tue, 14 Jul 2026 19:36:08 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fds9mgft4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:08 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c12e43b98so78861441cf.1 for ; Tue, 14 Jul 2026 12:36:08 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f464b7e22sm10235028f8f.25.2026.07.14.12.36.04 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= FVZcww5ehdUaMle+W+PQH/YLL7+qw+ENNbaJYAPM3D0=; b=isswnZ+oA8cXg4aO F6sU8MluNSUzqpKkKET7q474bu5aU99vysJaVmHDoJHpHb18aSGN/ZiEIe1yvTP8 oip878n2/WiauQUAE9DpfRBLNMiO4vqapVbVmNy0DpwFUnANZWKWIxvcuRCGY9Fj S0YYU2bFQgjJaBSUXZ5SKJttExCOcqLWC09a1ycMaojWxOoUeRzm5RhRoQR4yBjc MUWlm1iEqIT0KUP+So6L1q5hb1JK7e0OeltmPDYTDfnu5hJZcX93Gp1UAJk3Cjgn MRTXxRg/b81crw/ud/8Rw85PziWAU9Fq09StAqGnPWs+gclXVonW9CgL7Z0W18rs FRMeFg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057767; x=1784662567; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=FVZcww5ehdUaMle+W+PQH/YLL7+qw+ENNbaJYAPM3D0=; b=dFD7pBqAd1pyXVDjhmlCdohPncqKP8aRgdShWV/xOU/dW+1Xcb+WHuPFlLE1C285tX f0KDY4lW9/gui9YBzpoKa54vl2x28FxLKt+hp99M6I0s+hhLStHbzbIiHZJUwNCZazOw aAyMqvpxwDK91aAwb7x9yAOmUz3tMev/g/wfJBbQ0HOHvLIPkWTRKyjaqB+lZyHAY2Uh 2adhMWJAIJ40t1hqH/C1hkX8quFmW2pTViI6zcugsOGqfMUMvwqduJqOX6WwdZ5j70KE 9NqSOpLNngTZEOqajb85+Q/y6/+8Tobxv0zk/DPCDPBfz4aEBGbW3fw1kkQ6q8NP5ZFk u2EQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057767; x=1784662567; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=FVZcww5ehdUaMle+W+PQH/YLL7+qw+ENNbaJYAPM3D0=; b=BCYmxSqQ4IBGhedKcG2WXrclNhLOYmJTPTIsCWTriiDNfOv0i14zIch80CMVQsHgCd RiFySl8+6pLRLPhhlzXwBKXyI8qty3U3pBpmUh/qSRu5VNjF1ctjFgwru6U+c1qz0D39 gwDmch42QOtdc+zk177EdKq97lI3ybyi7K+CijTlxuuW1VxoWWfKUWcLPumRbfvlozdq M9VX07pDerx0NFXiuYX9pHgMS4HtL32+piJlFhcK8laeek7x6Gl+Kv4/ys20xWebKgaL ETPYkZFUlPPjRxVdvvNtxEMWp+XKtliB1HN+uM5DV9ySzxqewOcznXffL2oiE4ox3PbN yNlg== X-Gm-Message-State: AOJu0YyfjDICFD70TugF84NA1RzTGxO6dA+u+4r/Ga1nywpkMq1iJfTJ FLObZcv7kY+wWMgFozr6LAu+lVIITdSyBgHnKvQdW2Kmm1aI3LW5I6U5vq5Qs0lsOOgITGfGh0c Plb5IIomlR8h1fH2eCZrxhd4WvsjK8OXRSm6pDqfdQ7+cnh5KMx6/XVqnfN9G3byIxg== X-Gm-Gg: AfdE7cmZPMdTJRrqJL4qwVAPA6ulW4cNBDWqp2KE91LJa9ytr4m7TCyir89bI1e1OMG prqj+91hjN18p4Od7sxMc849r8sHb0OMRN9JpHMmZX5+JwkXoPlhvhPnIf3fhd6iP8nwQGlyykp nthGvtJ4pHkUL+J4XsgyWKhfHSBN6e3dupCRYBgBa1d0wcfT+CubF35LGpgSwbEWjZqx8C4XgCd R6TblPaDkYJgbOW/5qAi/kdsaoawTV3kYnPG21ZfSHjgdq+iWm2xgYG2fLZ6o4LLknCrtJVvPBk 7Nqrzvy8Z2eQkdEpmrcXGsP1qjgL9nkU2DpTD+LZ9Plgm8iTg3RpegQ1ux5ad4J5tplR0C6YTsp rLa3jqR3J0AJdQh1C+uYFkuTAa4QWVmCo4LTn3OECddPdR932BZ1eth3Ql9DxuLcuYg89 X-Received: by 2002:ac8:5806:0:b0:519:f420:d780 with SMTP id d75a77b69052e-51e3c1ce15emr51666601cf.30.1784057766482; Tue, 14 Jul 2026 12:36:06 -0700 (PDT) X-Received: by 2002:ac8:5806:0:b0:519:f420:d780 with SMTP id d75a77b69052e-51e3c1ce15emr51666141cf.30.1784057765584; Tue, 14 Jul 2026 12:36:05 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 06/13] hw/display/qxl: fix TOCTOU in cursor chunk data_size handling Date: Tue, 14 Jul 2026 21:35:10 +0200 Message-ID: <20260714193517.60708-7-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX5GnI2aToJD+h o6RxPy0IVl5k8REKlwz9BPpPkes64QlNJxolAp2jMdf/t4fkrcn5llw3wsXTX1xM9C11YMByIce W6tx8vzZum0gv3IF8FIqSblU2UdyXC7kY0tVAnYsivVWdASe48J8/cmGZWySdyRA9N+GnLE8V6m qujhrjkGVocGgqEEjoyRpGXQxYRRtq47en92+ozaW60cI0Gj5UP5GuaWybYNdO9nrNOUkNpV8P+ 8mnoCs5YAnPqKKaIV6GZG3XfQh4mZDiLXsd3Sc857dpI0bj5sTPJNlShxHplDwEp+XrV2DejDEd xp5Ih6fpXaFyInFGtURau5y5GKM3YBBunDhhX4NRnfqyi8J/KWhO7Aq1vQJ8Y6wGh058qYEfb74 2pYsrNQ8j0O06dQhRQxdrslPnxkgFz6GEMIa8zUOcJ5Kgxzal3Vb+zBH6GnTwnU0biXO72qTdwE Dnu29Bvf1lYQqfIB03A== X-Proofpoint-ORIG-GUID: zNEyOE19CURifJ0qGO1-lW8C1UavPTed X-Proofpoint-GUID: zNEyOE19CURifJ0qGO1-lW8C1UavPTed X-Authority-Analysis: v=2.4 cv=E+79Y6dl c=1 sm=1 tr=0 ts=6a568fa8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=p0WdMEafAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=csm7OsOMr3LbVpAVGOoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX0uA6azC8oC6W rUdr2WAcPwepbOpvMWtOYQMvrDpfQbvd3i310B0D26n/Jci41GMr4L3p/M4fiu9p5feJ7HyozPc vO+ZlXgxoLbsl3mdqvEkhu8VpWdu580= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 adultscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057844225158500 From: Marc-Andr=C3=A9 Lureau Snapshot chunk.data_size into a host-local variable before passing it to qxl_phys2virt() for validation, and pass it through qxl_cursor() and qxl_unpack_chunks() so that no subsequent code re-reads the field. Without this, a racing vCPU can inflate data_size between the qxl_phys2virt() validation and the memcpy in qxl_unpack_chunks(), causing a source read past the validated region. In practice the read stays within the guest's own VRAM mmap, so the impact is limited. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3757 Reported-by: Feifan Qian Signed-off-by: Marc-Andre Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260710134352.2313675-1-marcandre.lureau@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/qxl-render.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/hw/display/qxl-render.c b/hw/display/qxl-render.c index 3bf634ee059..4799c9e8bef 100644 --- a/hw/display/qxl-render.c +++ b/hw/display/qxl-render.c @@ -217,7 +217,8 @@ void qxl_render_update_area_done(PCIQXLDevice *qxl, QXL= Cookie *cookie) } =20 static void qxl_unpack_chunks(void *dest, size_t size, PCIQXLDevice *qxl, - QXLDataChunk *chunk, uint32_t group_id) + QXLDataChunk *chunk, uint32_t group_id, + uint32_t chunk_data_size) { uint32_t max_chunks =3D 32; size_t offset =3D 0; @@ -225,22 +226,21 @@ static void qxl_unpack_chunks(void *dest, size_t size= , PCIQXLDevice *qxl, QXLPHYSICAL next_chunk_phys =3D 0; =20 for (;;) { - bytes =3D MIN(size - offset, chunk->data_size); + bytes =3D MIN(size - offset, chunk_data_size); memcpy(dest + offset, chunk->data, bytes); offset +=3D bytes; if (offset =3D=3D size) { return; } next_chunk_phys =3D chunk->next_chunk; - /* fist time, only get the next chunk's data size */ chunk =3D qxl_phys2virt(qxl, next_chunk_phys, group_id, sizeof(QXLDataChunk)); if (!chunk) { return; } - /* second time, check data size and get data */ + chunk_data_size =3D chunk->data_size; chunk =3D qxl_phys2virt(qxl, next_chunk_phys, group_id, - sizeof(QXLDataChunk) + chunk->data_size); + sizeof(QXLDataChunk) + chunk_data_size); if (!chunk) { return; } @@ -252,7 +252,7 @@ static void qxl_unpack_chunks(void *dest, size_t size, = PCIQXLDevice *qxl, } =20 static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCursor *cursor, - uint32_t group_id) + uint32_t group_id, uint32_t chunk_data_size) { QEMUCursor *c; uint8_t *and_mask, *xor_mask; @@ -272,11 +272,11 @@ static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLC= ursor *cursor, case SPICE_CURSOR_TYPE_MONO: /* Assume that the full cursor is available in a single chunk. */ size =3D 2 * cursor_get_mono_bpl(c) * c->height; - if (size !=3D cursor->data_size || cursor->chunk.data_size < size)= { + if (size !=3D cursor->data_size || chunk_data_size < size) { qxl_set_guest_bug(qxl, "%s: bad monochrome cursor %ux%u" " data_size %u chunk_size %u", __func__, c->width, c->height, - cursor->data_size, cursor->chunk.data_size); + cursor->data_size, chunk_data_size); goto fail; } and_mask =3D cursor->chunk.data; @@ -288,7 +288,8 @@ static QEMUCursor *qxl_cursor(PCIQXLDevice *qxl, QXLCur= sor *cursor, break; case SPICE_CURSOR_TYPE_ALPHA: size =3D sizeof(uint32_t) * c->width * c->height; - qxl_unpack_chunks(c->data, size, qxl, &cursor->chunk, group_id); + qxl_unpack_chunks(c->data, size, qxl, &cursor->chunk, group_id, + chunk_data_size); if (qxl->debug > 2) { cursor_print_ascii_art(c, "qxl/alpha"); } @@ -325,19 +326,23 @@ int qxl_render_cursor(PCIQXLDevice *qxl, QXLCommandEx= t *ext) } switch (cmd->type) { case QXL_CURSOR_SET: + { + uint32_t chunk_data_size; + /* First read the QXLCursor to get QXLDataChunk::data_size ... */ cursor =3D qxl_phys2virt(qxl, cmd->u.set.shape, ext->group_id, sizeof(QXLCursor)); if (!cursor) { return 1; } + chunk_data_size =3D cursor->chunk.data_size; /* Then read including the chunked data following QXLCursor. */ cursor =3D qxl_phys2virt(qxl, cmd->u.set.shape, ext->group_id, - sizeof(QXLCursor) + cursor->chunk.data_size= ); + sizeof(QXLCursor) + chunk_data_size); if (!cursor) { return 1; } - c =3D qxl_cursor(qxl, cursor, ext->group_id); + c =3D qxl_cursor(qxl, cursor, ext->group_id, chunk_data_size); if (c =3D=3D NULL) { c =3D cursor_builtin_left_ptr(); } @@ -351,6 +356,7 @@ int qxl_render_cursor(PCIQXLDevice *qxl, QXLCommandExt = *ext) qemu_mutex_unlock(&qxl->ssd.lock); qemu_bh_schedule(qxl->ssd.cursor_bh); break; + } case QXL_CURSOR_MOVE: qemu_mutex_lock(&qxl->ssd.lock); qxl->ssd.mouse_x =3D cmd->u.position.x; --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057792; cv=none; d=zohomail.com; s=zohoarc; b=NzL0r4GZsp6jJtxmn2MR97OtD2K2CKMNluaqj9n3dJZkboV/3QgEidR7bBdin9PJZqyAP4u51Yzo1WuDha3eWtIIprEFCcRQcoqsPid2ko6E6jnVnhs8q2ab9+r942V2fzd6HlxBM7GQETrcNQLoHRZfuGSNITPd/ts9Eiwpri0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057792; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=Jc8C7QYNmUdHNgQ2t1bOW+qTywO+3Szw+HEi0uA96kc=; b=fKEHSTEqMDz48yoPghTdx6zgZcptSx4mthA/uTRiFiu4h9YXE0H5edSJ4sJ8vfDxDj7Qq5IFzZNCUQvDDK/cwgmVzWqPVlnt+Ry7a7tBevatX8Pq4n4KQt5Unvw67xxKPUWk+6wcIj/dIMUZgliqRvBLrmHFh4MU9dxHvcJdmUw= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057792031772.8808575563779; Tue, 14 Jul 2026 12:36:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivS-0001kh-2n; Tue, 14 Jul 2026 15:36:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivR-0001kP-6W for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:17 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivP-000588-Gb for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:16 -0400 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIxKaJ1481546 for ; Tue, 14 Jul 2026 19:36:14 GMT Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdgudjt21-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:14 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-92e63df032bso141752485a.0 for ; Tue, 14 Jul 2026 12:36:14 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4829896asm8687196f8f.23.2026.07.14.12.36.11 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= Jc8C7QYNmUdHNgQ2t1bOW+qTywO+3Szw+HEi0uA96kc=; b=SLyA4JIJ6iOC0O13 B6mYcgPE5knjyNhey6FDU5hJ543yrAFUzA7tBrcxs0smmmNRV0SA4+3ytX/hrECj WnjfpFdtyA7+AZEHvBQX0NSFRqbt8emXOPvJAH9YEGfzcp4BfuGSnBWD03RLZfp4 SAVHUiAXX1qpyoWPebVcNnngRzcz1XSW79ljvukuIOJLmVc9H7x2hov0gwBnPGOd uUakhC1fiQDhgPbGvAEULyD4jqyFAi5BhqmQPU+ohdNrEI7o7davwwmDYv6G/jz1 h0ESjZXOc1qKY6c7Gn8Cf8gU+EXM45Zw4aA0gy1GSlOFC2C21jZJgMxx5IkzoVFO 7OBJ2w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057774; x=1784662574; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Jc8C7QYNmUdHNgQ2t1bOW+qTywO+3Szw+HEi0uA96kc=; b=IAyUF6rg34RwnfdI32/smkqYKTPBmbaA+pUL//dCoGZGWApLWMuly2lgvusKs99qM6 L2r+WDfC+MZuSS9krH3lp5cWhAkMxsvyFZhOQY7DL+GIrw9u40USABBTb2ql8NjuAExg HNXZvJYjM+YOArrd9uZmrbuTIXno2m6SCQ3ffQpWbZ0XDQIMdomIN0GHZ+sXdHVPLnUO Sa3dLF9CUaR356W5D3/iyv7Z6GQZDlG0nsaLiqxfAS4V1FziDM87wblVDTNG8rclBGq4 oPyEGTdvyfKK1ZDdWxhFQ83uZ0E2pgn0usHp6/zkrRQj8E8mMGeo2Plj5cjerZ0aB93y odHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057774; x=1784662574; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Jc8C7QYNmUdHNgQ2t1bOW+qTywO+3Szw+HEi0uA96kc=; b=dVTiUW3x3uExLJCD2234ISszkLstDWVYqI9D7Nt+d5py5c6nRI3CqHqSTn7THCjTS8 jIngi24z6B5VlLFwUlO+uK0whiZoVnTMrtpk8z2fYC0yC31P5Vsw1+Axv1HWXi5XGx8m rQMC7qWKQKmhzcxVHnKIu8n34OgoTQTF5g3vdV1kXZEFvpdqFQ8UmY/xt1xcw3tBGURt pPHMZRv/GFZV0EfKuFRla/OIgqJA7PQ1jzxYKujFY2+ZkqSph6OWW5ZKlusM8hs16gHa Yp1Jos/aigU2AIKNMsAD7nb+pLGGwBUQJKP4zcc0EojTm7T5mI1kLonDp41iCby9gt+6 FYXg== X-Gm-Message-State: AOJu0YzgxE1fAmlv6Yrfhuz9GEVQJHDTYzJeP5HxlqGscDTmCHlfq2oH XJOBlXW9aEvi0DY+SMqrMozv8MfR9gDt46naKwBNpV1kXKhMLJjrtzCPsVV3om1ObAZYbJJxdjp ibznAH5T9/3fVmqYdhqPB3yXHCE1gBw0R5FlM6zLVS+6JptpiFIIwF3wg710nnXTyaQ== X-Gm-Gg: AfdE7cl/jII3jkLQ9ZpfgNHCILnO6/ztS6pPF3aSO6pHQxCAgIeScQEEdyI3tv5zjT+ CCeq25uAk5VuKP0LXloG1g0+B8Cgm4dXPAk5TzuMR1gBVDr/wubJtBz+25STminIROz84IMLW/r nXz91PD+LnzjJ6oEy7Qc5yWmI+ltXtUbgZYkEfAKCeR9UOVzaam6lXIplit2K3F1gcFvGerxgFU 378qTXlQxLG99lcN6BQx5zirfg383Y04SzGomyEwF2cJdeEfU7GJxLenn/qFhRTFIJQxSh3YvlE F4j4QHQx7S+Q6aHWCoaqFZ0Jo1/2YDOZj4WJKxcmRdJ3ceUozsloiULNFVL22lQLDDNM05m/KOK R8Go+yc7dmldjppAbJT6hykJe4tWTw8JvPdN3piaBRb5GtCDJ+eQPEFnQZhhfetIyoEqp X-Received: by 2002:a05:622a:506:b0:51c:7aa7:e0f0 with SMTP id d75a77b69052e-51caa1a740amr195706331cf.43.1784057773549; Tue, 14 Jul 2026 12:36:13 -0700 (PDT) X-Received: by 2002:a05:622a:506:b0:51c:7aa7:e0f0 with SMTP id d75a77b69052e-51caa1a740amr195706061cf.43.1784057772963; Tue, 14 Jul 2026 12:36:12 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 07/13] hw/sparc64/niagara: use int64_t for vdisk size to avoid truncation Date: Tue, 14 Jul 2026 21:35:11 +0200 Message-ID: <20260714193517.60708-8-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: hHnx4bccr8JUB4ZQg247Oh7r8EznWYAf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXxqbty+xPwitH 2vJIMHxDQfzhBD9knZvdlrae6VDxuHyO9xru+SI59zgPd8Zqmrwi+TM2obeBP/YrbYYwXhuTynX vzVkxpKe2Gx1HEnA5WTjhJrTSjGrJL4PJspLEXn3bD7mQIPQoRmkcfS2Zv7XP93SjN/IKjasmOu p60hfTdGF+uCstjNvNukCxT0Ix64ik/jbI60qLPq+JoAsOCh8dcHOzCCfm8H+BgPTnIBJRwwzkq XuKheaPJauaqHdJcl7IdbnAD8WxgIo/jMw81HGbX3Q7Izf8b86VG6bzMtZ1agf0EPZI9WA966TA YuL4IHMC12M6YBa/BQOAu6Xf1LTXkZXdU3QvxWStZlUtamxH4SPCJP4IcXb8LJp3Z2N23Trvgf+ 2cQooEofuyuB9sTzz2cs1wkXz65pGN4QeamXYCTfjGJFb25fl52J47xXI8cqagBJuU6+BDhRHtT +d+6bI8iScsKwESccrA== X-Authority-Analysis: v=2.4 cv=T/O8ifKQ c=1 sm=1 tr=0 ts=6a568fae cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=TUGr3rjMgH3xqUiw0coA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXyHnL/VrqmEAT ER78YwTDiTXIRQkC4s6aeTm8JZsih7u+aPOTDSQ9glMDZ+tdPueqwc/sbYVk/dNWTMv1FrMoUh3 ZOoojZQBXl/q/F+Yz8Bmmb6wFdmoewI= X-Proofpoint-ORIG-GUID: hHnx4bccr8JUB4ZQg247Oh7r8EznWYAf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 malwarescore=0 adultscore=0 spamscore=0 phishscore=0 clxscore=1015 bulkscore=0 suspectscore=0 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057793880158500 From: Dmitry Pimenov blk_getlength() returns int64_t, but niagara_init() stored it in an int, truncating the if=3Dpflash virtual-ramdisk size for images >=3D 2 GiB. A ~4= GiB image truncated to 0/negative, failed the `size > 0` check, and exit(1)'d before the CPU ran, ending with: qemu-system-sparc64: could not load ram disk Signed-off-by: Dmitry Pimenov Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260710222350.9185-1-sun4qemu@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/sparc64/niagara.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/sparc64/niagara.c b/hw/sparc64/niagara.c index 1211ecb82d4..ad5e5945a85 100644 --- a/hw/sparc64/niagara.c +++ b/hw/sparc64/niagara.c @@ -137,7 +137,7 @@ static void niagara_init(MachineState *machine) outside of the partition RAM */ if (dinfo) { BlockBackend *blk =3D blk_by_legacy_dinfo(dinfo); - int size =3D blk_getlength(blk); + int64_t size =3D blk_getlength(blk); if (size > 0) { memory_region_init_ram(&s->vdisk_ram, NULL, "sun4v_vdisk.ram",= size, &error_fatal); --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057820; cv=none; d=zohomail.com; s=zohoarc; b=aiPibfCKbqA6CE+mCmxADyPoCmFOM8GN9A8Y+VuWDCUapzwjUJdmUAb0ZKYZFG74y4DplFK3FbqNW9u1xqIhQgm68FKFubqJ6Z/MkgriXGbWC/bJmYDH+uWaN5pFmxjD7R9kMw99z2O/2lfNSIiYxGMqiy1XFAvBXGpkR9y62X0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057820; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=KY9N22nTwGAp9VjVSi/nRimYdl1jJpJ47aiu1YZqlxI=; b=JnLRz39YSbBLU7fJaiZ1FqNjq/1C6B2o9BOC3kCG26uIScVioT5hIYPExpli7hV9h27gKxWUe+uU8aS4ze4N6R49Bp7CLWchfDckfKbShEt/doeZAp/KBpGEI9TrAsR8THEgYJgMC27Oz2VZHKGS/L9fEhFtA+Y/EcxI89JWNpc= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057820714559.2695565780399; Tue, 14 Jul 2026 12:37:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivh-0001ra-4z; Tue, 14 Jul 2026 15:36:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjive-0001pR-RH for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:30 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivd-0005AB-9m for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:30 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwMGw1243440 for ; Tue, 14 Jul 2026 19:36:28 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdmkk1vdk-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:27 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51e4ba1cfabso6774481cf.1 for ; Tue, 14 Jul 2026 12:36:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f464c30a9sm9968758f8f.31.2026.07.14.12.36.19 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= KY9N22nTwGAp9VjVSi/nRimYdl1jJpJ47aiu1YZqlxI=; b=f6q68Kzd5Gca7LcU CICn4xlK2fVcUPooxHbl2ZCK9K3VnAMRCqjCyd575V4PDw/vTUrZOi1OeFVs0B3C uId/VFJXKeZcDT/VCX5D002INUKDaRqWpTPb2c91ifyFGAUyhiiTeNsfJPn75SKh 9QG2hWf0e+0G46MgJ8KqgrfuXd+BerIvtKO1/bndNca4lMk2DBgEvlIUCTqJdRcj ltVhHUNCF7aKUp6hsz3JYoy+/5oJvWP1Aq2thjo5SEl92tvqBcJQk+oRHv3I2inB wN0HCsLPdt+oKrgEPtJuErBTzPOeWGp7PaelgU24f92aJpJ+6bgFT6op5pRBujkv qlYdfw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057781; x=1784662581; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=KY9N22nTwGAp9VjVSi/nRimYdl1jJpJ47aiu1YZqlxI=; b=gq5oxOLJvxbZptW/FyjsEbSuu4jvyCo841UZQT7vIRvgtvpGBlVTPI5UHoW6+wOO/Q 8Q4rw61J4x/1eQMUjuict6qYRxOr6SDmVJUzKLmqXozSEwYsW48TsrzKQl8s33buo4gx SdY4fTD4zCCtwptbFPEX2jTvcMgsPOvXl8/E7xtO6A6v+Xb2ORFseoKVGkKnbQF3c4a0 QhGYfAUd+MI9uSpAjkoE1lfCgnUWhK94Ud/HwrYiiA+JMfjOKpTOY/J5uD9XS4HohGKW Zo2bE+NUuqLIrdnOUFoWf6W9lj9ziqncQ9/UauvM8hC2UfzHazf+agiQ06UsQ0OhRp81 JJ/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057781; x=1784662581; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=KY9N22nTwGAp9VjVSi/nRimYdl1jJpJ47aiu1YZqlxI=; b=g9Za2vlOI+n+wdKyK2GUMagJIw40nC79OlhkaGmtAhb67QJoJCr6DSDzndu0pav3Uj 0PbEYh3THOKHTDTE+2b7eq6c90Ffs9t6Zsjk/pUqvfbZ1mSy742k+hJ+hAj0wpt/dR+F wgv2u+LE5piC/FGIfZTKKskl1bKtc43h7L78HISk1DznJ7pe6TiX5CReS05GYZH9QGRO SQGuaxcKHykYmPmwx3tSwgbcKoKseKFEsnMSz3pReHzFLK6ZqY2Cvn7eua/IALY+ogMY ASo0lTJUvzzvx22tgY/VoSZdS34R4SBccsd8+KjC4WawCwKvHG73zeQKhvdMoR/doELo 5k1g== X-Gm-Message-State: AOJu0YzZqQatBPvxT/iOUPNRaZuVFgkZ0TbbDPRiwj+aHLR4Pat6pheV lxCuTGrVs6+rNBQ3+8LOup8TPQNIWMwxB8UlhW0bNMRJ9xLuIDwMCJJOU2NsT7GehU6d7IQlgbR DZHmNxZcxhlB9mlZNDOfVh07B8CE0q7ux6RsAQYo+UVv6g52P7kmG3nz/3Tpn0QHUhg== X-Gm-Gg: AfdE7cmJXiTezi8XIuuAUNsGE/EkjOyUA11k3JoPcq2B3J45EgXmWCMKi9S1A0TxrhZ MkLBIWfDsiepLILUJXczFj8DB3g/bDPSEImH/KeX+sYYK2swJkk+HtOJw1+5+KRBr/dzhUGJYur vpsWUaObSAPRwq4e4+sJQXq8icW/Pe1orDOhzbYo3XM65cApGpuVv3qLI+u8WiBiUydYQAT68Bh 9JN2YuSPkPQ5sNWtek6zaOzHuo+3xptKQ+w/vi2jNIbZtGyATrl67daIzYC+UkIg7cQdF4uvFrH SKK5kqLSsRsJTmDFgi8GsPRpSYkFuAMvOxt6Fjjvw+VMUg1tbjWc+pv8f58zlqigfwCjOV1F4d+ I/oP+z+oQ2/TkiaMH7pd5Y5lDAmhTtrpxrmkVvwUj1dd2WG/skP99mZOZPMBOiSkrEGad X-Received: by 2002:a05:622a:4184:b0:51a:8c97:9389 with SMTP id d75a77b69052e-51e4f101598mr248011cf.64.1784057780815; Tue, 14 Jul 2026 12:36:20 -0700 (PDT) X-Received: by 2002:a05:622a:4184:b0:51a:8c97:9389 with SMTP id d75a77b69052e-51e4f101598mr247711cf.64.1784057780283; Tue, 14 Jul 2026 12:36:20 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 08/13] hw/display/virtio-gpu: fix dmabuf_fd leak on remap failure Date: Tue, 14 Jul 2026 21:35:12 +0200 Message-ID: <20260714193517.60708-9-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: ZBDGveaqUSgA3pLY-3Yn8C0MXXPCLvBm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXwiizZS9NDdHB /OK6x1/KAIMn86r6SgZS0YQ7o6T/eb8bzjvBTMyDiT/2gSU/pDzvOEIDOiuAxlAFPGxHHk64QkB 84XKQv7FszrWT90wdPN0PKkFLAhltWxWGE1CfjW3+xDUcKrYCXFvkleY9wnA8bjKI95pfkO/M9d P0JxomTWjulHHsIXUeDW/kVeA6YU3+l39p4avQXyNmrFOzlyMnpyHo4h3Tk7E/nhkAGwyfxLTpr eS0em7vBNPj/towSE0c4lXZ/X7eA5yVac4QGSWr0kGJW/cT41zYfT841CKZzkDOlEEKZryBVJaC VE8s8pv71yMNKR/0cXSRiNsVRfWa3JrrRqNPOTpx5jRmgRK0Fa6ysb+hBWFM36D/MG6qkBWu+lH nO5fjbJiNuK4TN/hTt/snBRvuInAuCx8obSPAH8noakib3SQd4WnDsUrWcGqOM1LajNZErnFLtC YjI+DaQ8yXueonLvoAA== X-Authority-Analysis: v=2.4 cv=NszhtcdJ c=1 sm=1 tr=0 ts=6a568fbb cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=8qntHiuRVmbTxgTVLOIA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: ZBDGveaqUSgA3pLY-3Yn8C0MXXPCLvBm X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX7RDFG1o4x9ls K+utQOpxk8+sNUMYIs1Vt5zspHLXFDFZosc9Dp8oJt8/pd0cHdkuFozKptTLgV69jmUtiuIAWnY NjKnMiyjl0ArT3AcmZF/7db+342D2cU= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 clxscore=1015 malwarescore=0 spamscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057822029158500 From: Marc-Andr=C3=A9 Lureau When virtio_gpu_create_udmabuf() succeeds but virtio_gpu_remap_udmabuf() fails (mmap returns MAP_FAILED), virtio_gpu_init_udmabuf() returns early without closing the dmabuf fd. Since res->blob is never set in this path, later cleanup via virtio_gpu_cleanup_mapping() skips virtio_gpu_fini_udmabuf() entirely, leaking the file descriptor. Call virtio_gpu_destroy_udmabuf() before the early return to close the fd. This function already handles partial state correctly: it skips the munmap when res->remapped is NULL and closes the fd when res->dmabuf_fd >=3D 0. Fixes: 9b60cdf98723 ("virtio-gpu: Add udmabuf helpers") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260713125622.111513-1-marcandre.lureau@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/display/virtio-gpu-udmabuf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/display/virtio-gpu-udmabuf.c b/hw/display/virtio-gpu-udmabu= f.c index d5ac1cfca0e..5f08c855dde 100644 --- a/hw/display/virtio-gpu-udmabuf.c +++ b/hw/display/virtio-gpu-udmabuf.c @@ -143,6 +143,7 @@ void virtio_gpu_init_udmabuf(struct virtio_gpu_simple_r= esource *res) } virtio_gpu_remap_udmabuf(res); if (!res->remapped) { + virtio_gpu_destroy_udmabuf(res); return; } pdata =3D res->remapped; --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057837; cv=none; d=zohomail.com; s=zohoarc; b=iSV6UNs2d1Ge0GfHn4rf2U7+r+Xn+t8B+sGQhMxFyOJwbTczcHcY3sCecQJR2hrs8BZkmmownA7BIRBZaw2X8tME842yGYR0ZAn11H4S65R8yX0ZFPbe0Rb/rN5cxrScZqplsX478MzoyLXgxujpLesOBoEau3q/LY1TNkO7KV0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057837; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=txGBeOUVbx+l8Zf+Ah8Kzr+SZ1ndefrhdV3RNtC3Llk=; b=eWklQTEUOyaausW0OzvCD5T7E3RntttD9flEMtyw1L1SnXPNApg6ZyLEuzqZ46WxViYWy4Uj0+4KMm8wopMbGqQ86m/OTdkfayVTXW2zuQ+AwDkpBKQkgnlkCc+O5YMkyi1soAJ3J/so+BUu/eOMhPX8tm9/fjzzX6sCbF7CNMA= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178405783767696.22985567493765; Tue, 14 Jul 2026 12:37:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivl-0002BA-FD; Tue, 14 Jul 2026 15:36:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivj-00024b-LD for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:35 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivh-0005Ak-IT for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:35 -0400 Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwH9N1243017 for ; Tue, 14 Jul 2026 19:36:32 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdmkk1vds-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:32 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c26012cd0so68652001cf.0 for ; Tue, 14 Jul 2026 12:36:31 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f464bbb0esm10734702f8f.28.2026.07.14.12.36.26 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= txGBeOUVbx+l8Zf+Ah8Kzr+SZ1ndefrhdV3RNtC3Llk=; b=AYTPR9NFy4yt5CFi RKp3hEKPKV23SDU+JRmmb0L1f+MoVyRdC0OQ1xzm5zEsUlEWqQ60KM7AYXMN/ucQ Owro37DkYHxESvlWJTsu74cIeCESWzpQWzP4fI5VyJzO+81M2Gjz6TiNObwbgeWl rPw0ZMByVT8eLcEzriQV2n//2iqL9PQvn1z2wPcYGU1oqBOa23WAZla/OMgz6vvA cp2T6ny91+iQvzjxq7TSL0moCd3HdLgzL3FcatmqIo/Dm41lSq+U0H+A+beylgu0 AAPU3z7/HeZZNlRJRJFdHB3WHLNOtjXmbMTotrmoqhQ2rbd47XIJ+SsR6H9pRCAF 0sYOFw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057791; x=1784662591; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=txGBeOUVbx+l8Zf+Ah8Kzr+SZ1ndefrhdV3RNtC3Llk=; b=InwjLh9g5zmpSfSD3bP3Np+0c3hEcX8j+Ek3teU5O8mgOd8ECZ5aP1fZ8f+iHvvEqv YcI8718aR1y+mQJGlf1SZfgqCY/Qx8hJd47IITgy/PPgnRky6yZf8DMv5INf/7hEXxIX 07u1b6uqgqilYbTPLBX/IX5VGyiGkBLJOMm4UcebHKxbqanZzD2DH9er19fFHsnZF6Q5 tEIy9nwSUrdPkhA2Tk3sAIcwMD3Pmq5iLozzsVpPuGdhiWpQOwjglCBL1LMfmfbA++4M CFNc3xnh337lstCdU1l08hvrFbUBQlvvcamc8wo5St4TdS4jShoEYZZoG1c8vX18+1FM 6xFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057791; x=1784662591; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=txGBeOUVbx+l8Zf+Ah8Kzr+SZ1ndefrhdV3RNtC3Llk=; b=qDDgkJyUZJbL9NEpDn07ruukE2LuJGKUFignuPdqiYrbGIZhH/3TqQCqNyDJIi3yCg 1gH91gFd1zanQWy0NpR8T4zuda5NCfphodQbDydfsH4rQXyjXH1SsodgzLDa8Ws9URlb 6bx23phjN29C6x+1wDiIowQP7MR3IiGJ9slFUuFZzpcGat+wVHbqYieeAsOaMYrUVdSZ M44eSfGXzFcjvXks9cRrryVMUbPIbTIdQYi3icp1Jo2TzoEQyhsw8QR3zTxUTveqIHCM x+6tOLH9wOUzklxAmdr6priS7HvhwtKQwg9++pD0UTpt8SUbq9XJ5betYKyuMyWgxQq7 wNSg== X-Gm-Message-State: AOJu0YwLXcdRPy/7vbZDQyQtZPFeMJApHY4z9L7UuvrryRY991vgAm3B ZGbEqm1torcCBtrjseFJjt2ygGLAv6po4cNKCDdkKHU70awKWejD3mbdsajhKqFvFQHnJav8kLo hnoUiwBoUZzqUnAK3bDSxSDMqnyVxjeoqxSM1Wc1n/dY3miLYGZy6IqC3UiV7LYL4gA== X-Gm-Gg: AfdE7cnSHo08W1RYxeYBVquk3iPwaOu/mUeCbIDiit8A/z5YwUIfsgCqI3VOSR+NtrB bKLECKHp6Tl9CH9NFH5jY+alQ21F964YWPOAB3gEe4hfdnw33L8tqTDtWQo9mDs3Pm9iPe01Dyc 8ezJT/N5SQLtn3t/Prm8mZQ3iuradfq75s98gtG8VNRjwRBT1JJ0DWq6Nlx81jO19YSS+k7IkvS juswqPyl4D0/b7j99tVMFN+d7iisXdpPXevQaz2o/T5r2XNwrYXHeH6tZ/RY3gbgAgCm5Z2e+/I FgBnQMzsM1xTOwLsbX7/qBQCkKO9XgFjsSmnYmZqX0C2oaPFoyiZVLpam5d+me2yFlCj1GNOTF3 oKEwCF7qcTZk3Hwq8aKwIuxFCXRekp0nBzrTK7NAJ+Z6aa+ptDQYBqY9b1XKWpv0dT5d7 X-Received: by 2002:ac8:5d50:0:b0:51c:640:231f with SMTP id d75a77b69052e-51e4f0bb593mr294411cf.45.1784057789563; Tue, 14 Jul 2026 12:36:29 -0700 (PDT) X-Received: by 2002:ac8:5d50:0:b0:51c:640:231f with SMTP id d75a77b69052e-51e4f0bb593mr293281cf.45.1784057787610; Tue, 14 Jul 2026 12:36:27 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 09/13] hw/usb/hcd-ohci: Make sure that ohci_service_ed_list() cannot loop forever Date: Tue, 14 Jul 2026 21:35:13 +0200 Message-ID: <20260714193517.60708-10-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: -o315fYXU3QZg_BLb-wfR3A84Vt6rKVJ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX4+/XqFJuJkie uzZc3xYu1S8R2vjgwxsYoItfnPOnUljHsxAZBGufLTNmUgMUJKCH+CUrss8RWNcj0e2heTxszOh oee7W8TOhY+CKbWVSklvQnxuWhH0G9ajoQH42ka6KxqwHId3IZ+WjTHsJq232h2IlV741vnydYG jGW/PakkCAI67kCvLfRW8yyQ1LXEYARKBZjvE0YyuNnEip6Bjm8VZ+Lk3XJytvAA+9LksHDFho1 fIR6/DOxz4EKcl1+cLh1ZiTDvOL3ThT4mLeiVq2fnUS+9LNni3V/LEWPznzkq7qqpzXGai4gD6F rOLhtR9GS0AEuOW2eqwsJaqSphQrzqm7S07ptOHXRZKdxapIFPwuMObMyCOm+6OTO1Z8YoAjR6F 8M5k4267bLl1dWUSSzw2Ew5N4KaNxHeDEPGgg+a/8pghYaIDrrhbQrrsNJ0GX88TMCQ8OtlbQEg s97XK35P6ELGrq1iLTA== X-Authority-Analysis: v=2.4 cv=NszhtcdJ c=1 sm=1 tr=0 ts=6a568fc0 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=p0WdMEafAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=A_swr5QPKuRQRUEhd6gA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: -o315fYXU3QZg_BLb-wfR3A84Vt6rKVJ X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXxFEVnyM+dNt1 ppd8VFW8sD7CFKTLGos5qFd4zYuwcScMRSxKR9y5oetLhALjEwg/CUNPpAuwpwMTQBjO3lTYxh/ /1JTExAa9odYM9aGeOpDejQKOYNFV2M= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 clxscore=1015 malwarescore=0 spamscore=0 phishscore=0 lowpriorityscore=0 bulkscore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057838201158500 From: Thomas Huth The inner while loop in ohci_service_ed_list() could theoretically loop forever if a malicious guest prepares a set of bad descriptors. Add a check to the loop to avoid this situation. Reported-by: Feifan Qian Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3781 Signed-off-by: Thomas Huth Reviewed-by: Daniel P. Berrang=C3=A9 Message-ID: <20260713160458.343323-1-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-ohci.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/usb/hcd-ohci.c b/hw/usb/hcd-ohci.c index 40ebafb4dd9..c4a9741bd42 100644 --- a/hw/usb/hcd-ohci.c +++ b/hw/usb/hcd-ohci.c @@ -28,6 +28,7 @@ #include "qemu/osdep.h" #include "hw/core/irq.h" #include "qapi/error.h" +#include "qemu/log.h" #include "qemu/module.h" #include "qemu/timer.h" #include "hw/usb/usb.h" @@ -1129,6 +1130,8 @@ static int ohci_service_ed_list(OHCIState *ohci, uint= 32_t head) return 0; } for (cur =3D head; cur && link_cnt++ < ED_LINK_LIMIT; cur =3D next_ed)= { + unsigned int ed_cnt =3D 0; + if (ohci_read_ed(ohci, cur, &ed)) { trace_usb_ohci_ed_read_error(cur); ohci_die(ohci); @@ -1172,6 +1175,13 @@ static int ohci_service_ed_list(OHCIState *ohci, uin= t32_t head) break; } } + + if (ed_cnt++ > ED_LINK_LIMIT) { + qemu_log_mask(LOG_GUEST_ERROR, + "ohci: Too many endpoint descriptors in loop= \n"); + ohci_die(ohci); + return 0; + } } =20 if (ohci_put_ed(ohci, cur, &ed)) { --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057836; cv=none; d=zohomail.com; s=zohoarc; b=WG3VSgVxdRVv1knXPnOVibAh7gT34iX8Q98KZIW9BeCyjqOxqlTFkmBPyvy29TilXvYPQNWfcSrkGToBdIehS+TysFnEWQvY/84RJYI68gDBZYOe7ob++mgx98VRBIadrvcKwgofubnQ+mlY/Sk2rKaGBcIREbv9Apf5N4BHdDA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057836; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=0vkruR0wh68o6mBwvymA7rEaJVjjdVzx0fOvLpWCPgM=; b=O4epF8sCRUiW0vCs3TwUKvmDeqFvqmE6iLmztrpUHmLnUr/F3bl7Vcpdj0nckkP7ZEzSQDKGWwaS0Rs8UOH4hH9a18Y5ttLXa1i0s3jArr/s1wk9AbkQesjrkByQSAdYooFdJk1y9bQFX1ukaa8e56cdRRvtqqVq/hvU2uscKKc= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178405783612781.75749350583794; Tue, 14 Jul 2026 12:37:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjivx-0003VG-IW; Tue, 14 Jul 2026 15:36:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivt-00039P-IH for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:45 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjivr-0005BU-I3 for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:45 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwHj31448620 for ; Tue, 14 Jul 2026 19:36:42 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fds9hrg0w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:42 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c1eb52e1fso80254651cf.0 for ; Tue, 14 Jul 2026 12:36:42 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f476e9d02sm10519131f8f.19.2026.07.14.12.36.34 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 0vkruR0wh68o6mBwvymA7rEaJVjjdVzx0fOvLpWCPgM=; b=Va6byFCTSm1pYL4F xI5Zo50SwnC09ZZ3FELAFFAYxENSOxoUVPcn3fJsUaijcdyil1EueiuCJLUVsEc1 iDmSYTaGGs/dyGdb3l7lN+FG9GC1zKSFnCNEfoCGH/WFZVfg8AKvZULXUg9egGPJ qBsgSNyCpKvHtUoTO1lW1nGDaII6vsIGrruVl/WGKdF3MC9EbBSasSAsvoDnTPPh RAumrv0Q8FELZ01SOKMWPYB8xyStMpUvEgE76Dn4qg+gK5t9lNK9VFIdxQNLzjyO 9ZLpq0PGxV/1KCvAs+MSndP5c1FuncEa9+GJjq0gYKO4Scux5qDfjae5sdVNxMd0 DOCD7w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057801; x=1784662601; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=0vkruR0wh68o6mBwvymA7rEaJVjjdVzx0fOvLpWCPgM=; b=ARanl+tgUfJcvaWlz5+2MJ16kLIRLO+vharuuTajppfotkRWo6zvyi3bNydVuktpnA iIXldjIrviacyHofnFXx0p8AXen/bCQ+ON9wmnkgHCtw5CgbxEGbcTHITFViWN3CPP2c hCArj7Imko1wxZo+nVkHnaXvYmimZtucaaaRHxBCvuIKBf7wHd9MzvzXs7v+m5h9KQT1 3wu0ogTfntQO5CekpJtrpHdkKRoXDl/QXYIwH/IzMRJSCkFJ1jPdPch6gI3/wmc/fYgl CQYXl/QlgUIaeOXO84ZVOnKps7NtLGQVEOPh1az0HL9Lu/fLZSc5w6y+Sc3fCE/Dr4Jx lmZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057801; x=1784662601; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=0vkruR0wh68o6mBwvymA7rEaJVjjdVzx0fOvLpWCPgM=; b=eJ2X7BulSvv7w7sVfDXyI84qYrTT2so00CiiKoJNNy9Y5KxbaZKyLNQotpAl3dKVbX aER6hwMNcq9AgzXqdXI5n4MT3yPC5zNnr2q7hULXvWXJ0Nhxq9hwCXpfMZXZdytkFn+p dgCUQkOQ9w/8K3n1H/T2iGm2yr0CO5iaUwY2R53uRQMid6y/GoZvNsU5xv3OwkS6N6fT WDSnUDwZdAU/jnB/O+2gAlsGir7dgJxxwRRf8XeQF4dQhbykrCVSTaIDcSMEmSVUqt8h lbNZnI9TZ3G33dssTEiezQE9fojTT22nB3ZcT/lBJJduAw6CRhVtgpbv7Ax2PLJ0ySnE 6/Ig== X-Gm-Message-State: AOJu0YzS5a/5duumibM0i6rhdokqqCdauA0u4JUAKNtnaPbgLFSAnXcY uNfenSoEY6JmGM2L68i/VIk3XdKlQhQMKgS+v5BqHdko8MLbu8pjouS1zeHAz5FOzHeEaU4RLYw K8ll9u0DR3P803VHWn7IKqYNbW/5TuH8roRsFoDrxAKFD9+e3cgujzmf2sn+5adCiew== X-Gm-Gg: AfdE7ck2v/0faBBhyzO11ug2zGEgfooEejT9nm7rax3524p0eJnIGjhtYsRV6KSgYad oWR5S9fYbYmhHgLH4iI/gpE/H2apdytGEbPwk1+RDrMm4uMPyFRCi0EOq+VQgWWtJZBATiMoi1J JdpAB4fohgk+sBU6SaRpTrP3f2sR/yiMkfjmUubEAwV1NrufjJ3hjv/SvBsDNeMaG5j/vgMIsX/ eU62YU9bnRSfyQdYbmCWJ3dH45wGdCP5MECA8bVD8mdAgXcvaOV3NT1qUOKCy96Bv+eHJ10r5no hro4zzEMKFQ5NGg2yRHVUlJW74RhRsoPfdaHifpXzYU0eDuHut+6QbOCLNSXLib16CdHRvtROxF TVpC/wE8mFatxrOkuP/UXA6UqrXpfO+tB1qq3vXr0gdUmfJ7U/oWQgPDQSuQQAGPTwDdL X-Received: by 2002:a05:622a:2297:b0:51c:217f:518 with SMTP id d75a77b69052e-51e4eddcf56mr655631cf.6.1784057799580; Tue, 14 Jul 2026 12:36:39 -0700 (PDT) X-Received: by 2002:a05:622a:2297:b0:51c:217f:518 with SMTP id d75a77b69052e-51e4eddcf56mr653121cf.6.1784057795002; Tue, 14 Jul 2026 12:36:35 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 10/13] hw/usb/hcd-xhci: Turn guest-triggerable abort() into qemu_log_mask() Date: Tue, 14 Jul 2026 21:35:14 +0200 Message-ID: <20260714193517.60708-11-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Ib+3n2qa c=1 sm=1 tr=0 ts=6a568fca cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=p0WdMEafAAAA:8 a=20KFwNOVAAAA:8 a=EUspDBNiAAAA:8 a=IxmnRJhVVQ4GrP0OrP0A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-ORIG-GUID: eu_MYH2oJRgQRBOb_b9revrtGtjjUHaS X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX5iGuht7eiOEc WRU6fvQqnFNsx+FKkL9wwA1N9tAFZIImr9SOoR/4K2BlIeCLvWAvbrjsyVSEDFpU6dADDxiq8Fv g57/5TOTmBrW54dP9IkXhMLfgDu3g+A= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX9gnX7asNAymw wjQTVatfa7U7lt9tdGPzCZuGSalIAfneu3NZ5W3k9TnUi6S40SGFlA7WsDjqCY8lEQRqpJdCjLw T+ri/osU+ywdFcmZiQTkx74FPJHFfygiZRr0HFJrwYPxEgSFC3c4RvqvXd/sk1aHLtUUyNkIPtV wWpkxwmyvcRYkp3LW1LiWQVW4UTvYRWhRtm9so0Bt5WMGYwOASmx2TiLnbSpdI0JpNcvd/uJ57G VhYZ7oAEJaLqSPjuPXn6HrGxUcq0R+FWDM6WA5JivXpO/z4zy41SZAHTQAgHGLVrMAO13/uAlX9 Olviy90uF/yKmCZeItOZzYj9eXsHowsEgTdLVUyIvAOdAP+I/dNuAny7lJ2mmid0Jof8uBPi34A zhmwRX3zQBWfdDPiDhU5cdd30LnnPevwI8Zi9bA7ZuQlAroPXOqR/YQw4XOEG2Lom9GhdurIRtF 0kUAeOWQtkYhB/+EVFw== X-Proofpoint-GUID: eu_MYH2oJRgQRBOb_b9revrtGtjjUHaS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 phishscore=0 malwarescore=0 adultscore=0 impostorscore=0 clxscore=1015 spamscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057838207158500 From: Thomas Huth The FIXME macros in xhci_alloc_device_streams() can be triggered by a (malicious) guest. Since the macro also contains an abort() statement, this terminates QEMU. Turn the FIXME statements into a qemu_log_mask() instead to avoid that a guest can shoot itself this way. Reported-by: Feifan Qian Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3784 Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Thomas Huth Message-ID: <20260713161406.361197-2-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-xhci.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 2cdab3ba0e4..f5bb7d25600 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -965,11 +965,13 @@ static TRBCCode xhci_alloc_device_streams(XHCIState *= xhci, unsigned int slotid, * together and make an usb_device_alloc_streams call per group. */ if (epctxs[i]->nr_pstreams !=3D req_nr_streams) { - FIXME("guest streams config not identical for all eps"); + qemu_log_mask(LOG_UNIMP, + "guest streams config not identical for all eps\= n"); return CC_RESOURCE_ERROR; } if (eps[i]->max_streams !=3D dev_max_streams) { - FIXME("device streams config not identical for all eps"); + qemu_log_mask(LOG_UNIMP, + "device streams config not identical for all eps= \n"); return CC_RESOURCE_ERROR; } } --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057861; cv=none; d=zohomail.com; s=zohoarc; b=gU2eBidqG1GtW7nXpyUktIhLNL23+ryQ6Qc3B9wSmyOnW+pU5fuFPgdS8CQbmUXxmxcmJpy5nux6HThJStRc9LRDgDGdVXMsGVi6hMK9QpfZOQaHIsS/TCxdDYR6+zPf72jw7oid/B7SVlYod07wAq405LKA/EAhOUMTu/qxLpg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057861; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=li37RecpOHN+cGlMnRf8KaQVgn0TTXJIfG+QCjT5K+w=; b=O8zT49eEnVGjBV3+TDyMLRd739mSY9a+CRNDJ8BWiP6GXsXVaORRkxY10fntHboBiiuXhIgS5aJGF/1e7FT7q1v6zghuajW6rBLpKsCl3rK8q35h4kk7NOt+QVO7hYwIXALQRvqLbVBA/b+1qeUY5BE11iWLKI40P6EH6g2aEc0= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057861599287.8733968432898; Tue, 14 Jul 2026 12:37:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiwl-0005qy-Mc; Tue, 14 Jul 2026 15:37:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiwg-0005bs-HA for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:37:35 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiwc-0005Gc-Ca for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:37:33 -0400 Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIweap1485327 for ; Tue, 14 Jul 2026 19:37:28 GMT Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdnnqsja9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:37:28 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8e97889ac8aso60830286d6.3 for ; Tue, 14 Jul 2026 12:37:27 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f464a9879sm11514654f8f.22.2026.07.14.12.36.41 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= li37RecpOHN+cGlMnRf8KaQVgn0TTXJIfG+QCjT5K+w=; b=XBVj+opDmEMc1wZP iNEqDrXgUdlVVXAaINGlDY3mfzXxTrD+sOu7kLp4ILKP5mvceVKTOBDheq5kaHBC jUsqER8AciekCXBq/IcZGDsj3sI2AfPThZsr9z/gVG+CWvRXX2wTzjoLzn2AI9rG WQ3fN5zHeA0hX8yliRcotgnChXRDRKuo1YzRxF3k05ahlXL/kPVm7dcRUObwqoL0 4JfwDvW9tze4scW+0iv2BF6VPH5SwsuZNu7Lkv2wbdwsAC1ZdDX7QDyRbWs2cMxl xf084Okt7lv316HhhINzpdEVu+bs/OJdrOlblxvQuIvpZyJqK8zNCP3K1BD9+X4/ quA4qA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057847; x=1784662647; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=li37RecpOHN+cGlMnRf8KaQVgn0TTXJIfG+QCjT5K+w=; b=bW/54chZAdthh5j4vM7CwgKP3Ea1d1uJr105345dbBJ4k0nRYpfb0rAZkiIr6rpzmB AdwBGQnoCvL8TRjU1i+2vR5QbSN78XDbIpuAmopUKqOp+Lo0YcuY+F8n8qH17+aGMJRW ZEyxzgkPBs/Zwo0PgGcFJnQcQa/K9SfpCfuk4mu6eH8fiskyP2silYgq2xewbrNpawd1 ok2Km0wHnn+BIBVUq/U/N5BuiK1tC12kraAXDAM8Az30xPwKnNn4V5VojVw/o/1dklzh GtSykE8HItrMJaVRKiALgvmopQ7CTxE5MRXUkLddfvPnaAPfNZCh3a+3uj6ZfCXM3wfm QxWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057847; x=1784662647; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=li37RecpOHN+cGlMnRf8KaQVgn0TTXJIfG+QCjT5K+w=; b=BnPV2zPDNS81WHAqzsqn7I3m2QsouC8ihsy/UJ64b0tX1dsE55A1/3Iw/emkv6M42+ d4qYY+lHd+7VBgKpmPVYOD7LITnPKrlucgtxpltaLSXKKHaV0LUdaym5iFXxaQ1RsYKO 9ZHqUCiaoW/xJ2RcLMfXrS/EMWPlqC7xDnJIqgAVKzHXpufi8s2etjbc1D4LM9sKo0AI R3fECFEkTUPOc+K/xCptXsVvtwMX82e1Xn7EkJuVZyaOAii4XrNcArWUB4d5lPajBF+s +8Tj+AywpY8JQaRtDIu46r7NcnW4Pu+kVMY0Wfk8V19oKGP3Yiw85zvlAW8L4RNesIyv gc0A== X-Gm-Message-State: AOJu0YySCkLtbzQrviD+IHjZlMv4aN8qaxzmy/eLK8rEUo2nDteXeksZ xQHHcvhey14/idjKTti80iC6N2klrEPuLLNn/he1uXSffzopx1rxx8R1kC8EQWUHrhyvcbIiD58 81Cn8ZciW5HXPBd+tgG/IMcvNk+F0RKfWUc8eNkBBsOPcUi84J214f2QVAfZCCFf/5w== X-Gm-Gg: AfdE7clC0K5wagf5Fi2YgA1DIlYNy4zeMO24L2J1m62bZlBT0FyKnyvcyY94flUDHOe 8rRtKOjkW2QSjwRF0Kb2E0nlsZljc+VAnOOPc9ADMWuLNbzukhj1RnEcIPCGqJwk1WpsvHa/xes suT+vU+prKcFn9hSa9H+avjrCXSoCcFrZz62sC9jhKw2kcn/GEMvYEiBchK03TKnK7Sg24syRNg 6FOJaiQRFtKJy6Hq374+gx1C42lCbYHvJKDKMIZTYANUKNf5f/VpV59CvZNND0uLEOl6Qe99XE4 PWPfzQSdy+f1uyhjGGBTx45+Euhe0foLW5Mp/lYPdOxs+Onmx9RPFbjkOeeEw45YWJ/LkAJ7gQo ln5g04YIyTj6dYssbo+pzEgOaMfwCPKMOjloC16uW17NMxGYeBN3mTYA2+E3EIUaSjhA5 X-Received: by 2002:a05:622a:1a95:b0:51a:8696:cb38 with SMTP id d75a77b69052e-51e42352628mr34116791cf.7.1784057813880; Tue, 14 Jul 2026 12:36:53 -0700 (PDT) X-Received: by 2002:a05:622a:1a95:b0:51a:8696:cb38 with SMTP id d75a77b69052e-51e42352628mr34110411cf.7.1784057802192; Tue, 14 Jul 2026 12:36:42 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 11/13] hw/usb/hcd-xhci: Remove the FIXME macro Date: Tue, 14 Jul 2026 21:35:15 +0200 Message-ID: <20260714193517.60708-12-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXyhZUYY+stdJh zkIt8Wvofi0+SYVHZHkoxZryBTmKwy/hl3vPqBK9udrCa/VrsaSnuE4itXMWgxZQ/lf8Kb4/Vzj N7SBhQFyXooVrBITmMWgxPmC00xesiB7gPavD39pXHehKnW3L+qCWU54FzxLdhDd5E2CzLSAn+Q kUXawxD70ZfkXZzdTdphVRl+D2IgMjw/zLy25+R3c3E9jw30tHNCq0RtCFrqfsSwaA5XvmZwGN0 SCnuSGYUzR7W1Cqc1bPTEX0jxNep4oEPFnsUpmFQi8KoVdSxkRukW1hLTncERyK6Brmb8JH+b0w l5l6+DdHy1TePnbluTjdsINXLMWzRgsQe6tgi3XiDWi+6zgnurBv5MDG88pBzXmhXw62OwtRp57 VtOf8cBwUxKUGcRksedfetDeld1aRUjWh5QCK83s4kt7TeAERIaEl8r4qbjkZU8N3m1exgI7cGw yMHYCSj92zqbLD3xZOQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX0+orqcp6Hs4c 9SUAKey8XPGRuFDwhmBbiLniLwGjyc8RdmD/j+6QU0eTe6RcWY0QcJJ+oB6JAfe1si1aOkSdMoT ZWnivk6R6d+p4dPmYsAjUby6tQjXSBA= X-Authority-Analysis: v=2.4 cv=U+Oiy+ru c=1 sm=1 tr=0 ts=6a568ff8 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=20KFwNOVAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=X5usCbvhwCoHlLRjaUcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=1HOtulTD9v-eNWfpl4qZ:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: YkQlg_93YEiIxV-cCRvBTZv0etQDH5mf X-Proofpoint-ORIG-GUID: YkQlg_93YEiIxV-cCRvBTZv0etQDH5mf X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057862301158500 From: Thomas Huth The FIXME macro is only used in one case, which should hopefully never trigger: The containing function handles all the USB_RET_* values except for USB_RET_ADD_TO_QUEUE and USB_RET_REMOVE_FROM_QUEUE, which are both internal return values for when an async packet needs to be queued or dequeued, and which shouldn't still be the status by the time we get to this function. Thus let's simplify this spot and use a g_assert_not_reached() instead (and remove the DPRINT() in front of it to avoid that code analyzers trip over unreachable code here). Suggested-by: Peter Maydell Reviewed-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Thomas Huth Message-ID: <20260713161406.361197-3-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-xhci.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index f5bb7d25600..cc61e28d33b 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -39,8 +39,6 @@ #else #define DPRINTF(...) do {} while (0) #endif -#define FIXME(_msg) do { fprintf(stderr, "FIXME %s:%d %s\n", \ - __func__, __LINE__, _msg); abort(); } whi= le (0) =20 #define TRB_LINK_LIMIT 32 #define COMMAND_LIMIT 256 @@ -1673,9 +1671,7 @@ static int xhci_try_complete_packet(XHCITransfer *xfe= r) xhci_stall_ep(xfer); break; default: - DPRINTF("%s: FIXME: status =3D %d\n", __func__, - xfer->packet.status); - FIXME("unhandled USB_RET_*"); + g_assert_not_reached(); } return 0; } --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057847; cv=none; d=zohomail.com; s=zohoarc; b=ZRlPo4JedzAQQbad5dslS5sHNfZgDcDL8vxbrwINeJn+v8dRk3YhSvEn/+sN/rp/fqYRJR/Qo0hsdkOTeyXyYwLjivzckpWj+e/GqzqyxBL8fQGvLdXWEcfjbyUPEMERL9pGbGGV8DZ8q+u1/8BmqI9pDroDAe4dSt7fq9pVGQE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057847; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=f4An/Dp9OU7pX+6O4ECxohaQMbV12/YnIUigvwhU7RA=; b=f+85Tv8Te1zYoAq5k3O4JZsOnu+oyPOTxtUkTjhbhl0XGv3clSrjuWst/kgwkfSErV26rfIGuUpGyhsCjJQuzulLGi8JgIvsmfnWjw022JjCTotD53ExzPdsbwFl4lc3OrLoGwYhlNPPoagTApW0tETKOzKOAEplJe1UNKAayco= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057847310124.50577232598516; Tue, 14 Jul 2026 12:37:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiwE-0003zc-Qv; Tue, 14 Jul 2026 15:37:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiw4-0003nC-Qv for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:57 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiw2-0005Cb-DE for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:36:56 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwLY71448735 for ; Tue, 14 Jul 2026 19:36:53 GMT Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fds9hrg1m-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:53 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c083f1818so22004621cf.0 for ; Tue, 14 Jul 2026 12:36:53 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f4635a63esm11016221f8f.9.2026.07.14.12.36.48 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= f4An/Dp9OU7pX+6O4ECxohaQMbV12/YnIUigvwhU7RA=; b=fHRKOWIU8lMDxQWv OfEcwHVHr7llg/+by5DIgTKOCU7D3/P8oFfr9TMw+qRyVmnEZOb44AmqkCGkook0 IYnGtdny12sGR3njaRArSCmlb9eq8e2rjUx+PlsxRjHSD424gmIPjR+2m70dx18J +FNVRgvcRgG64diON6BXtndnZ4ONmuav9ukNTeXH5CXnf6Kmv4z/NoKH+yaz+iLi 6GNgQKpLJTgjxUeagpWxng0iN1n/L9f4mRCKC/5W9QdP4obpewQwOfPH0yyWOQj3 tYEdroQ5itSqEfUwQkEoKUZL4PgzEMVhPmBqZg2/edTnt+1x8mkIbEhM7AtvVb3w BC+d5g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057812; x=1784662612; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=f4An/Dp9OU7pX+6O4ECxohaQMbV12/YnIUigvwhU7RA=; b=RF48lNxYq+/6JR7J1imfCycxATKLsFSdczjSf/FMkotPC5et44OH/sAyHjS/Zad7yo dmk/+ha1CoDaoDmcX/MtcquLtmljCq4IxSRQVM4BWfbMqr7cuQ2W7s8CdkQwqzJcxX/F VBm3P7wxYaAVFGvtl+z5xTX2v9ZR0N9EQ3ksB6KXQP5PtSgVGK9Fqm0kUt9x06vhpEwt DBWL2TieWvANPaHtN1V7zCJ6mcJi5TtWefeEXFcB05s5fdHghzR+5HqOTuEJGrGGrES0 bR6J9jF6UIsBmoSrEwniOtdd8//lqhk2sLDJnE4kQxxXeHHKy7zfVqr+OTFrWHSqmc+A lFJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057812; x=1784662612; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=f4An/Dp9OU7pX+6O4ECxohaQMbV12/YnIUigvwhU7RA=; b=LGYsjA+6XSulOqaOhB3CewFgF8Mawvb5IdXN92I1llgAuiBUkhKyNF3NvKVkHk7Eq0 TR71oMtbZPlBfEs+OC+5cbyQLxxf3d6lNpA0kBXC/fmkugPFz2oefrNBQt8/mxF8vLgJ rIEb4trH7nh7416m1bThUPfULQ1FWVDKwvkV1w9kp4X7pMwSGI3o5pAB13Yt7GuUhxFq K3wJD+5xDjlzUlKuOtpCYpuaZs0/XFgWHQzbFWQE2pDafFUYktFDXjSUM+uNQhZk5RCk b7wp0troJEyCOwzXBy5RmpZQ32wEl7udcmS7oIFeLqSXDEbuQVuY2bSnXu2DMXIS0pGo adGQ== X-Gm-Message-State: AOJu0YxTd+ixHQQuV3AWXu+2ktbuZhJCLlawhMRTKICYuUS/FRaU1xaA tgfjXPpJEd7EZGG7sUZywdUo1kEHjzA6HDdG3T/Q9XTYXztXViUnnhfsBKZJwYLdSTnz7ItKTLY zSbVBPYESP/kPLZOqz3Inxk1rlQu1VsdMhQ5q2X8F8ffmFtii7AlMgH0WgmjsRF886w== X-Gm-Gg: AfdE7clLChqPQj1K8hJkMszZApNn35HRmN7o10Wq7Phd+u+NeQ5CmJZbfkJor1dZBxU Be8Ab4i+9SWu/CMiBrpEzFEEs0hML44rIN3gfiHTDr/kGB7wRfIXMiWWfSTukfEWA3MwoVJJGjQ C0+NGyoZ1Zv4JuCPqExC687IYrtXOiDGBg882RSfRFHtD4ZTfzLxOplygPRMwpFaA7K6oerHUom J/Kj/4y8tiaG4xfqRgxc8rUsl2fcuoBODJQLAYOmrAqKmkT5WZrz3wCuyyHJHbxepGgoc5km9Pe y0+L6OK8fUXzNuNo4+rmVK4YzzjOqd+bxiQxxa6KDtFfj9hvkKPQb5ZYGTB7R7DN3G0PZzjF1Zu VbXJqqE/LC9dm3od3cS056uvR+5NsPLyd4GhutcGCw3HRRGwDm8uIr8UkYaUBbY2mCGBC X-Received: by 2002:a05:622a:144b:b0:51c:1bcd:5cc3 with SMTP id d75a77b69052e-51cbf1ecac8mr145768801cf.25.1784057812163; Tue, 14 Jul 2026 12:36:52 -0700 (PDT) X-Received: by 2002:a05:622a:144b:b0:51c:1bcd:5cc3 with SMTP id d75a77b69052e-51cbf1ecac8mr145767471cf.25.1784057809819; Tue, 14 Jul 2026 12:36:49 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 12/13] hw/usb/hcd-xhci: Use qemu_log_mask() instead of fprintf() statement Date: Tue, 14 Jul 2026 21:35:16 +0200 Message-ID: <20260714193517.60708-13-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Ib+3n2qa c=1 sm=1 tr=0 ts=6a568fd5 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=20KFwNOVAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=L-Nf6EnhhdU0iNhclOQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: PLK1TjKAwH5YwMiyZaYAdik-gJCIsCpB X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX5xtBvqQdK9XN NWms6ShYmPJXpjm+fDACU40wrMk5T8zqDhabaUghoGJ2mYTlMviDFbafKbIOOLchoA+HYTaCSKX M1Lj+G/0elJ4mmcPEPRLzl1f3DzVdaY= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX4y4rFDopBk2U b3zuyfzJMgQWrCJzLYFAM0oK1Z6uocCkQP97X2xwl44M6hkpVlqZA5cGw0Y+7fy+dCiQDEBErHi 6W+BfpgerQjpHfKPmp7TllpOxD0vW82r4YABuWN0EAX2HFyrdA9kKxAs+pByGT2BIv/+2aRE8Uy 4JlZBsYaiSmBTJl1C0ziKMODAqPcPci9QNxP39iSQB0o3QPa8QuZxQB29vimO3NMm3LsDXn4EhB +QOjjnOahpznw1Ug+jU+XLSmJD8DqH/fMmU3lZXbbACGasxRE7FMoDdetwN1IYaKQmRyZS3vC2Q SOAafcUpNYZI69HvsYrsz1KCu7a5Jr2+Egm/ZHYuNYvIjm8GKbt653BjV3dMm8Nk/QM8ZK3+dFF FrCqk44ha4DWy/jbF0tHWxerxD63IeKbDtHE0alYTK+bL9Cgh2pNRKbYhod5nI2ZpROqCKhM7X4 5OUW5eijm0twqHi4zyA== X-Proofpoint-GUID: PLK1TjKAwH5YwMiyZaYAdik-gJCIsCpB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 phishscore=0 malwarescore=0 adultscore=0 impostorscore=0 clxscore=1015 spamscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057848171158500 From: Thomas Huth We've got a proper way for logging unimplemented hardware features, so use qemu_log_mask() instead of the fprintf() here now. Suggested-by: Peter Maydell Reviewed-by: Peter Maydell Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260713161406.361197-4-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/usb/hcd-xhci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index cc61e28d33b..c7e050e38fd 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -1017,7 +1017,8 @@ static XHCIStreamContext *xhci_find_stream(XHCIEPCont= ext *epctx, } sctx =3D epctx->pstreams + streamid; } else { - fprintf(stderr, "xhci: FIXME: secondary streams not implemented ye= t"); + qemu_log_mask(LOG_UNIMP, + "xhci: secondary streams not implemented yet\n"); *cc_error =3D CC_INVALID_STREAM_TYPE_ERROR; return NULL; } --=20 2.53.0 From nobody Sat Jul 25 18:54:13 2026 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=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1784057839; cv=none; d=zohomail.com; s=zohoarc; b=UiIz/Afe2mA2UKWcUT7QKhmt2Pu1QaCr4xiBFkO01e0CRCN1BdzLC8bEKlVgzb4B27WxsphTSJsSPY0zFrknzR1oixNv/YqYwSVXHDlvYGd6wtW772l0oTsPmqzWsww4fAXCMB+1YMM0ELq1mGEr3LqPr3V3awAGDyjxohF9ZWE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784057839; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To:Cc; bh=A9KUtwcX12cFPngOtQ3U/6n9iQ+WAOvVkJf1tZAGPQw=; b=mFo+r1WrcLNnPWmxtTi90fVSRGyUyaZz6hcvoYvS2WWZunBujCuVN3tHOjFfLtHNAdCgfyFU/yA3YOboFAP+PmEEQNYRvRUg5Givnl42JJduZfTK9G+VhCFXw5ZKlE/tHtqOAVuUJUPImKcG43Z0U1mr37e8BsezWpv6H/wiEfM= 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=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784057839271590.818925789942; Tue, 14 Jul 2026 12:37:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wjiwO-0004Ey-Lg; Tue, 14 Jul 2026 15:37:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiwB-0003za-HM for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:37:04 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wjiw9-0005Dc-3a for qemu-devel@nongnu.org; Tue, 14 Jul 2026 15:37:03 -0400 Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66EIwMLr1455241 for ; Tue, 14 Jul 2026 19:36:59 GMT Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fdmjq1upd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 14 Jul 2026 19:36:58 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51c1a97644aso94520621cf.2 for ; Tue, 14 Jul 2026 12:36:58 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4950871d1bdsm96204895e9.1.2026.07.14.12.36.56 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 14 Jul 2026 12:36:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= A9KUtwcX12cFPngOtQ3U/6n9iQ+WAOvVkJf1tZAGPQw=; b=lqIa+V/K0xVJE6y3 CsryOcizChJe87oOzypzYdeeYI+cHkEyrBe0nZhDOzceMQ8Misu3eU9aai+dS30P daUKAbPvfF9DEG9wwpuzsBaFPSawEOb37bGEUz5hO1HXHM4CuxeqNvcw7CH8EUcQ 008U/tfO4D5edfdeQwP5ICDHYSGYRNDTR9Y7slwCtk6pMGtmSd9hZAFsCAgmwk67 fwW0ZAnQrHOeLq1Z49pNbv8ltCakQ602wkDTp2dDFK3bcbJZXfaX1tWpMqDixbr3 DEL8eenDziSX0pbcvU/xs0ftDSe0icv3HUATw4UgRakymrGT0JFPXKvOfFFmdrUn MAcS0A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784057818; x=1784662618; darn=nongnu.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=A9KUtwcX12cFPngOtQ3U/6n9iQ+WAOvVkJf1tZAGPQw=; b=Ec6KUFTveqRoslFqC5361yYkQ/NU0Y8l/r9OSQWiNRc60uqequTta+qQ9jMyJsYFVs e3qLofknzBszpM/zhYL4qijtCjELoC9UpIaFCAxg1Yw+lrC5shQdsVbbr7uN4zv3l3H4 H2vCT2MyqTNZR+vKK+8I1MC3Of49aClU7WTsXpStnElu/YWbzyesUwe9TaxGD9RZNvmV nzLF/Os66IgEPT3LfP/+tWnnWNvzDJhVY+bznnDYTB9fo0k0KgPqnFOejHjC6jnaVAeD JRSnCBmWwZHg8d1imlKYVmT9qwURVKyHgm1WlhNeWi97VQAPcFjilaIYAnAlGT7do54H P2uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784057818; x=1784662618; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=A9KUtwcX12cFPngOtQ3U/6n9iQ+WAOvVkJf1tZAGPQw=; b=ShVGPtJGK2RqEZGCik50spuPMTCHUjIocFCoU2oC0ZqmE1IxXehfxeXum0Aty9xLW8 Y0BUGQUrajGx2DeKeEhmlwvE6qNT2o7UWX7rPq7gdkyYdZr/T8c5SGK2RtpBX23jWsAF RYl9r+S8fi3Dq8d8osoxUyyul04Mh9CXxhw86bd5LCDpc8eDMxse8ujep3yffm84ny/r iZPKrFRN8aXutCslhwCaIMT5Ht9ji8EFUvrfz7EklFvb3tuiJDqd8qKmQUZ1VWakx1qx fWmSAVpn7GzTw+2v9y4voLv8uIGT+v6MWgsPrnh7X/ihn94OSnl1XL8P9G+YcTw05Vwp jfqw== X-Gm-Message-State: AOJu0YxVswwuDDIaKIFNQmyk6HoOQlACOJXWEc5d8qjNMHMAVAdoAZlB eWUBB5N4FhyrhDrcBVF/+Cxkk/fEEfgWBBXe877HG4iKCzbCqwCCyKSH3IVABL6sZqs6GGwV52e GmSCduZfvPag00zZbfxGOUAdS/fcxe/waYTGTBX35KIpCIC8YHqDBrWMT1aq2WOyZfg== X-Gm-Gg: AfdE7cnfkGZw07MYLeR47TXbwmO3E6XmbJWsem5M+xs2SLmXWssYFSvlXX2c3t4mmAX V8npoBdermHLCFC6Ywgx6N3iXpb1t/N2gQwlzsk+TUQXWR/I5BIk8Xh9B90cemhQyIJddh08/tD c899urDBAJ2b+P1+Tz/c0uj8zpJAKM9i/mXlFHyE+G9MRfipWfh7o40zuDzbu6USYfkPVdX82ub 6Q/+6g+JV+Pkp9qPmuh//1UwMeg6ebp/kGh2nbuzrFqBpe2C111gSZwiZM8f3codhUfQoQfxO94 xzlJH+rMz0nmT5oKhyUUiKTjPqoD74/xuW65YdYOCeXSMBUa4Bt2l0FsQ/7b5t714EZo6+M9o/D DZyHNZ8+/Uqm+m2k6FB/fVacVRytYxwwuCNbm5ia2xjg4WbLzNEZBPg== X-Received: by 2002:ac8:7d52:0:b0:51c:7b11:41bc with SMTP id d75a77b69052e-51e4251ee9fmr35039531cf.88.1784057817595; Tue, 14 Jul 2026 12:36:57 -0700 (PDT) X-Received: by 2002:ac8:7d52:0:b0:51c:7b11:41bc with SMTP id d75a77b69052e-51e4251ee9fmr35039161cf.88.1784057817060; Tue, 14 Jul 2026 12:36:57 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PULL 13/13] net: only advertise passt in netdev help when CONFIG_PASST Date: Tue, 14 Jul 2026 21:35:17 +0200 Message-ID: <20260714193517.60708-14-philmd@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260714193517.60708-1-philmd@oss.qualcomm.com> References: <20260714193517.60708-1-philmd@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=LqmiDHdc c=1 sm=1 tr=0 ts=6a568fda cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=4s3hRJSeHn4rkQlkrse1kQ==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=M51BFTxLslgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=pGLkceISAAAA:8 a=nDY2nR1hV-CHX_SQYdUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: Xt3K4j2BtV-SoaUnsMFUo6vFZp8mpNFA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfXwj9HoB42rAvv g+emMOPyEnxHpXqAIy5hI/JfAuchI0f4ZUMPuVPb6alNSoPmLGP9KohuOa10szQE+hB6or4caH8 Vhm/0VPJac1SB4Xt8dncNfnPAknUZXZyv2vE8+j8wCwMvP5j8RbkZJjQAtSRRUOSOy5bWuWOtOV htkbIJ00tRshLzgWMnw1U0bStyR8KsegKsUECV6jf/4eWxdS/hFkl0oVk9JXx7CxE3zMhz5iY0S KM5jS8u+lcYyxHm8OgrjcavTn/0pZh8OKRLzqFU4yYoeRMbA7A7G8x2ADyfnK0p314nsAIMQ+h4 DUXPVMEZWgRY4m62VaJhey7GycAXz4ksBVYj7h/PCcFz/ttK8gWhcRsKTkjUsLc5OdntLyeUJ3n EU2njQX6NQzBF4PJqu0PWN36ecxPF7W/FUCiPeVT8zrlhRdYRYwGS1tduy9HZNfRHEFWFiHu2Pz NkpGRHa0q6HM3WuDS6A== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE0MDIwMiBTYWx0ZWRfX0JQGuH/nTELu 7b982M9bCOMahcmeIYTMnruB27TQOmkFpLzpfWm+C8PcFygC/C8lqKAQq6YJplbGcXCYo3rmC6g XkTRoLfWVY63K2rcb2YXAsWxfH/cBxE= X-Proofpoint-ORIG-GUID: Xt3K4j2BtV-SoaUnsMFUo6vFZp8mpNFA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-14_05,2026-07-14_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 phishscore=0 lowpriorityscore=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 impostorscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607140202 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=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.168.131; envelope-from=philmd@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, 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.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1784057840147158500 From: Rohitashv Kumar show_netdevs() lists each conditionally-compiled netdev backend behind its CONFIG_* guard (CONFIG_SLIRP for "user", CONFIG_L2TPV3 for "l2tpv3", CONFIG_NET_BRIDGE for "bridge", ...). The "passt" entry was added unconditionally, so "-netdev help" advertises passt even in builds configured with --disable-passt. Trying to use it then fails with "Parameter 'type' does not accept value 'passt'", since the QAPI NetClientDriver enum member "passt" is gated by 'if': 'CONFIG_PASST'. Guard the help entry with CONFIG_PASST so the advertised backends match those actually compiled into the binary. Signed-off-by: Rohitashv Kumar Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-ID: <20260713194511.1058450-1-rohit.kuma1313@gmail.com> Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- net/net.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/net.c b/net/net.c index 2892f1730d1..5c39f8e7b44 100644 --- a/net/net.c +++ b/net/net.c @@ -1385,7 +1385,9 @@ void show_netdevs(void) "dgram", "hubport", "tap", +#ifdef CONFIG_PASST "passt", +#endif #ifdef CONFIG_SLIRP "user", #endif --=20 2.53.0