From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058921; cv=none; d=zohomail.com; s=zohoarc; b=nWS83vsul6kC12ZXWR2iwYtEBetbI2l3SjoaqIvVPZX1sQy4xNLNlCB56JinjDBxmGpXaPjfdlHmMg7x+Da1Ur9lUb4YgAxb846HD3y3deLCwNGdxE/CTY0WVJA0oQn1S/6v5b2J7hfeecS1AovKqw5VQi9DuTFOiu6kWbmwfcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058921; h=Content-Type:Cc:Cc: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; bh=L2fXDBh7v5VnR+irN7nreOzDML4kDrz0mNn1ykyGvPY=; b=iyl091ouuRLxRXDIFMxneKON+cg6MjVdWOmV6JeB0xc68eI/zJAw1hBx3FUl+EhvPrIiGq6pcm0YkIndZ8XsXe6bWfLgeKhbiuQ4sr1wguXifzwZ06GW9IPGV7RrAedkFN0pu6LBCCwgy3wUgbEZlp031e/aC6Ccmd+U4RpTPVg= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058921564143.1471984472687; Fri, 1 Aug 2025 07:35:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnk-00083F-Hb; Fri, 01 Aug 2025 10:32:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqh5-0005Fw-Lw for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqh3-0002bn-EA for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:11 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-549-s-9u01c7OK-nDF5Zfh8taw-1; Fri, 01 Aug 2025 10:25:07 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b79629bd88so823724f8f.0 for ; Fri, 01 Aug 2025 07:25:06 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-458953eaeeesm115157985e9.25.2025.08.01.07.25.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=L2fXDBh7v5VnR+irN7nreOzDML4kDrz0mNn1ykyGvPY=; b=C8hekotukoYPZ7sJSliVOnlClPsHVrkEml4verL/Zd8+W5q3mYdS82HjhVdJU02McdRldR VqNejWkwc7WsOhFN3A4t/m7/W3Bc+qBLSfKfSGVBgqli+TkF/NXqDHDiBcLecoeeokpO3S bUfKhGD9PRM8l0heCpxUuIh82IpqGjY= X-MC-Unique: s-9u01c7OK-nDF5Zfh8taw-1 X-Mimecast-MFC-AGG-ID: s-9u01c7OK-nDF5Zfh8taw_1754058306 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058306; x=1754663106; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L2fXDBh7v5VnR+irN7nreOzDML4kDrz0mNn1ykyGvPY=; b=NTtAVLCnrjynO7B1YU+63ExmGc1Uunldm5alaRucBoFWPmWtxdj7b6b5J8tbwBBYXy sXmSodRpTftjYHxj88wyUp0B7URE7ip9tgzC0GM09oHcJh9M//ei0p9rsFFZ1T+2Zxx2 PAEuXasFYcxavan03yY6wCGEmDs7e+lA+aKj5TPtVf+E1RVdq92CC78D5VD32CdYBbeR TjGMYu6de10c5CCURFXu7HZStIjv6T+3wDmFp1OYD3c2H5CIDCtkC1uFOM0K9yflmFX4 YwjAaEfFh16v8vtrQxWbNLGqV/eSeGHnpqkqv+am2tFd1StjaMNG50rplbum8BYTBY2e QEuw== X-Gm-Message-State: AOJu0YwRMijqzwIcC/MDZRwg+KFBT6iRXUx8JmBC+Li0rVu8R4yK887Z yGcdWtWgFhb0OVsTRIGQ7G0zMGKx+jT4tA9074cenumk7uFJjd0WrVZq/EohOuV63j+7ZkXqpNg 90DdMReVaMR79ITAPU8ezRYqcIDpzMMX+10QH25bDigdRj7DvonPQovlcc/Rcms/WVle4FZq+EN TOoOwHw7kTS2+XTMjCnhW314gFbMPpOacOBQ== X-Gm-Gg: ASbGnctObWuwYBhCz0R33R8tNsL217olgJWxtI0zW1pO40IoF/VgCLx+7jELEcch2PE 8Lx8EmcaT50i4ZNU363beO7tXSgvDClYL3Bi6Be7P+Au6So2VMpNJ585oQX9zU8SG+EKDxK9YnM ZaTmGxwszRMA+6J6RfbsUy+HKD+pGhkh/zX4Ji3W45u6S9rB8FjCw1ZUZggCnTmBGpoNJ8xqOjI lYhBOyUwSjPpGOTsMCL5aWyVbmcRh4lgC+PlMEunInUUZWjiiHfSJgv60Jp6Grrkbd00po2NZKy bBrlSun3l44jpDJlStw/61NzIHWHix/L X-Received: by 2002:a05:6000:2013:b0:3b8:d0bb:7554 with SMTP id ffacd0b85a97d-3b8d3439fb4mr2277385f8f.7.1754058305572; Fri, 01 Aug 2025 07:25:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEr1wbffHADjcEsaiRas93wMWBrClYypLAph0BYQsXSdznquF98DA7JSpXkqG7CLJ/BH1Ob3A== X-Received: by 2002:a05:6000:2013:b0:3b8:d0bb:7554 with SMTP id ffacd0b85a97d-3b8d3439fb4mr2277352f8f.7.1754058305045; Fri, 01 Aug 2025 07:25:05 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:02 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Jonah Palmer , terrynini , Si-Wei Liu , Jason Wang Subject: [PULL 01/17] virtio: fix off-by-one and invalid access in virtqueue_ordered_fill Message-ID: <6fcf5ebafad65adc19a616260ca7dc90005785d1.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058923379116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jonah Palmer Commit b44135daa372 introduced virtqueue_ordered_fill for VIRTIO_F_IN_ORDER support but had a few issues: * Conditional while loop used 'steps <=3D max_steps' but should've been 'steps < max_steps' since reaching steps =3D=3D max_steps would indicate that we didn't find an element, which is an error. Without this change, the code would attempt to read invalid data at an index outside of our search range. * Incremented 'steps' using the next chain's ndescs instead of the current one. This patch corrects the loop bounds and synchronizes 'steps' and index increments. We also add a defensive sanity check against malicious or invalid descriptor counts to avoid a potential infinite loop and DoS. Fixes: b44135daa372 ("virtio: virtqueue_ordered_fill - VIRTIO_F_IN_ORDER su= pport") Reported-by: terrynini Signed-off-by: Jonah Palmer Message-Id: <20250721150208.2409779-1-jonah.palmer@oracle.com> Reviewed-by: Si-Wei Liu Acked-by: Jason Wang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 2ab1d20769..9a81ad912e 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -938,18 +938,18 @@ static void virtqueue_packed_fill(VirtQueue *vq, cons= t VirtQueueElement *elem, static void virtqueue_ordered_fill(VirtQueue *vq, const VirtQueueElement *= elem, unsigned int len) { - unsigned int i, steps, max_steps; + unsigned int i, steps, max_steps, ndescs; =20 i =3D vq->used_idx % vq->vring.num; steps =3D 0; /* - * We shouldn't need to increase 'i' by more than the distance - * between used_idx and last_avail_idx. + * We shouldn't need to increase 'i' by more than or equal to + * the distance between used_idx and last_avail_idx (max_steps). */ max_steps =3D (vq->last_avail_idx - vq->used_idx) % vq->vring.num; =20 /* Search for element in vq->used_elems */ - while (steps <=3D max_steps) { + while (steps < max_steps) { /* Found element, set length and mark as filled */ if (vq->used_elems[i].index =3D=3D elem->index) { vq->used_elems[i].len =3D len; @@ -957,8 +957,18 @@ static void virtqueue_ordered_fill(VirtQueue *vq, cons= t VirtQueueElement *elem, break; } =20 - i +=3D vq->used_elems[i].ndescs; - steps +=3D vq->used_elems[i].ndescs; + ndescs =3D vq->used_elems[i].ndescs; + + /* Defensive sanity check */ + if (unlikely(ndescs =3D=3D 0 || ndescs > vq->vring.num)) { + qemu_log_mask(LOG_GUEST_ERROR, + "%s: %s invalid ndescs %u at position %u\n", + __func__, vq->vdev->name, ndescs, i); + return; + } + + i +=3D ndescs; + steps +=3D ndescs; =20 if (i >=3D vq->vring.num) { i -=3D vq->vring.num; --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058944; cv=none; d=zohomail.com; s=zohoarc; b=Mczf1JYWqqr+E6+76jIouNbFNGPKOPa6sYk5Qx7/feO6av/nuzJd6fqgQfFRYG8+9CPkaRIAPpjbgDyBkZJC7nZkG5/AmGkltKmyv2v596JSBJZC46cVEh0E6TmjbexVTmq1Ni3ARu4LG9pTtT2fYnE0dpeGOveGEQ8Rdsnm4w8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058944; h=Content-Type:Cc:Cc: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; bh=n9aTAKqxtf2LCN/h984DXmZDHWbf6WVTqmImDbPWZ5I=; b=AVfmK6br9SadCdUvgExOnEKhFPSo8PPBrev3QaQpuMRbt/ZeB+Muik5IzJSvANBOrTXws8zB1WWvhphBBo6bapXsbcpMtXOKP+zfyAaMo9UYtLBBccAY7hZ33W0JnRNedvsCDQveL6OhJ9mtZkWERvrOGDIJCIhqo2oCtjIPMRU= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058944628179.3331665416414; Fri, 1 Aug 2025 07:35:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnt-0008Ma-Lr; Fri, 01 Aug 2025 10:32:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqh7-0005It-4T for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqh5-0002ce-Bz for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:12 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-636-WD3fqu2fNfOJTjXT9zD0Hw-1; Fri, 01 Aug 2025 10:25:09 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b836f17b50so818582f8f.1 for ; Fri, 01 Aug 2025 07:25:09 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c453c75sm6126809f8f.41.2025.08.01.07.25.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=n9aTAKqxtf2LCN/h984DXmZDHWbf6WVTqmImDbPWZ5I=; b=dAQ9fqDWbMkmqvTGak6bzQeeIJIE0WeAge24AuCIvdOQfTu1qnRTTA3kJ0Tj/egBaISn4G PrHw1OzM74rpr2EU4zWzC5MlaFPXFJVTM2wBtK3mZTrr6jBwLZ/wi3fi3aA0Uz/OkG1GMl oMr/5UFVOgBPLQ5xgOVdm6kiS3hjgSo= X-MC-Unique: WD3fqu2fNfOJTjXT9zD0Hw-1 X-Mimecast-MFC-AGG-ID: WD3fqu2fNfOJTjXT9zD0Hw_1754058308 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058308; x=1754663108; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=n9aTAKqxtf2LCN/h984DXmZDHWbf6WVTqmImDbPWZ5I=; b=eAV8/s+Srf5pep80spqLVI6xvVKaoq6NDu7f8qK43U7tynbvEgamXA2C+BEgkpA4rT MMzV7Jf/KYxdWGLWd6fZxDq7Z5nevgi0M7gPx7LwRE+L22rAB72orZR9zCGr5OXPZ0TL RHii/k0WXbtaziBFGdyMkcWq8QybKIpQp/cpTG7uZkLXfYLnbdHB16VHrMUFCD+nH0rM IjVkDIxb/UvmMPuupgHDB9iWntUll2w2We5eeZm3/fcySV+RPVGiIZe8PrbFwgsXZUfB nSIp/XsEBdmKNKgtvpI8zq3lksv2el4Q9WBeKexAWgEO4V2cde0QcoF+kmL8ycpo17gP qkAQ== X-Gm-Message-State: AOJu0YxhOkM3hG0WcZ0m8U6E1SobM2OrttgvWu1QnLY0r1uTWF8uyhfD S4dqncmUhXlf+jhhNbRtJW84DcCB6ypBm8J1K2DU9t4772ColipnJ1RGt3wYUmygUz+5FI9gpqF 5nTITrX9ZQU1v0aDeHDHwAzmx/c06afDdcvuj8vNHjjNEU6Y/ffPDUJ3JpZqT69eNDd56xH/mhv O1Owe9rFLYAyFPMwIwZW3gpSQwriFwzSN4Bw== X-Gm-Gg: ASbGnctEQAZXd82EfhtB6eyP0us8fkTmQd15fepwNw1aq4mhoWrTc1CtVao8M5InXWQ GGgTm3ktS1iC+feZIqcg6zX7Bz5pIHv/gKv5la0L9Br9k8ebjf1+eUSQAXxyPgF1g6o2+4oqzP1 bVy89wlyeowacbBdCX2Wv8WLFQhGiitYU8jJXLG6w0k0zA0zMaS7FVshgfH3LkJu5FswWZbVoJ/ ZlsllV38JVZrX5yaHiLYPq0D2oRCXEZ/fGKaJY6rndzRqoAyQ/Ik83lwAd/GdhmKldc9w7W2AGF B7h1Wkg3GkgNS8NnoXX0xjbeBK/Ut7/z X-Received: by 2002:a05:6000:410a:b0:3b7:999b:1194 with SMTP id ffacd0b85a97d-3b7999b1552mr6748727f8f.50.1754058308017; Fri, 01 Aug 2025 07:25:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEkhnUrfb69HxGRtmi1oofHD0UWmChSkXqelfoMQEUfW3VJt1/0c5e5pFWlEuOEuktauPE/OQ== X-Received: by 2002:a05:6000:410a:b0:3b7:999b:1194 with SMTP id ffacd0b85a97d-3b7999b1552mr6748701f8f.50.1754058307482; Fri, 01 Aug 2025 07:25:07 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:05 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Hanna Czenczek , Tingting Mao , Manos Pitsidianakis , Stefano Garzarella , Lei Yang Subject: [PULL 02/17] vhost: Do not abort on log-start error Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058947563124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hanna Czenczek Commit 3688fec8923 ("memory: Add Error** argument to .log_global_start() handler") enabled vhost_log_global_start() to return a proper error, but did not change it to do so; instead, it still aborts the whole process on error. This crash can be reproduced by e.g. killing a virtiofsd daemon before initiating migration. In such a case, qemu should not crash, but just make the attempted migration fail. Buglink: https://issues.redhat.com/browse/RHEL-94534 Reported-by: Tingting Mao Signed-off-by: Hanna Czenczek Message-Id: <20250724125928.61045-2-hreitz@redhat.com> Reviewed-by: Manos Pitsidianakis Reviewed-by: Stefano Garzarella Tested-by: Lei Yang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/vhost.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index c30ea1156e..05ad5de629 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1110,7 +1110,8 @@ static bool vhost_log_global_start(MemoryListener *li= stener, Error **errp) =20 r =3D vhost_migration_log(listener, true); if (r < 0) { - abort(); + error_setg_errno(errp, -r, "vhost: Failed to start logging"); + return false; } return true; } --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058895; cv=none; d=zohomail.com; s=zohoarc; b=KJpIdSyP2WhscbPMQJMSmb/L6STZTckaDSvvnFqXqTjk5yQN5Wb5aIPGJV2BL7D/K2a4TcMi07tftSetzgaiCEJSNb2ZqchqYR4TSaCS5IvtnvOf4DyyaFhRB4Frej9TZu8tkLUkfWCm5iGs9Fha1+b2gMTbtnYGJvzplsBXJ24= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058895; h=Content-Type:Cc:Cc: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; bh=CmCUy7VMYdhhfAJ9rVBdHUNMEi7jQwBEVAggBejnK4M=; b=ATYfm8Lele0ll3w9CGWOIOpAsEGwCQKGv8EtU/7SVtoDIhl8TUPXEYYxc8oUXmP0cCPXMU4DdbuICG/AKJ1zWTtAOZYr1zBUBHN/+ZiLNessMi0e/W24FlClwemdk7uizkSv5m6qZB2+k5ql4jOjf0CqfN9Egdon/V8TBIbZ2XI= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058895209926.4110026410573; Fri, 1 Aug 2025 07:34:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnK-000665-Ak; Fri, 01 Aug 2025 10:31:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhK-0005Q1-8n for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhA-0002eR-UD for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:19 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-136-tyaQVJzoPuKyW8rDQYRP0g-1; Fri, 01 Aug 2025 10:25:11 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3b79629bd88so823750f8f.0 for ; Fri, 01 Aug 2025 07:25:11 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c475067sm5997972f8f.58.2025.08.01.07.25.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=CmCUy7VMYdhhfAJ9rVBdHUNMEi7jQwBEVAggBejnK4M=; b=M4Qv0lKZqDTSfSyrHNbvGkDb7rIuczoN9K4AJs5WEOAnnV31825B9atyfxRAPoMoooOEqy 5VQrhOrLfPzQ0QE0ORAy+0r7J61W+nq10jE3KPviakhuEz9uApOX6D7WQF8zMLTDSA45rk AQyB3smuqP/mWjGMKHv6Ix9Qu0ODS2k= X-MC-Unique: tyaQVJzoPuKyW8rDQYRP0g-1 X-Mimecast-MFC-AGG-ID: tyaQVJzoPuKyW8rDQYRP0g_1754058310 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058310; x=1754663110; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CmCUy7VMYdhhfAJ9rVBdHUNMEi7jQwBEVAggBejnK4M=; b=vtuLo7Uw1Nrqt4Bd1X53+CADQ7II1mV5XShD98FxJ4wm7ltgozX4fMlfiNd4c69iJR hfyVW1Tc4cIgOkXvon9seYDi+/8KpCK8BX9GiLJA1z/sBC71+uXRDYTdXlihAkZ708EP uhGVvZ+33mkbAO80lv0Uy3UKSxdDzZtAnU899icFCrjfqwjFwkcBqJnx0HBcsqU5tEqu K60lKfDdDwGrMJ9bAlW+ElptZJ1idboA3HeQI9LlVUVhaQZ13MuVnDSySnGdVjPm3noj 8krAfxTzd4JMOpLl/osE2xZ7c5hxcy5FVwEilJQZt17uXtZRoovKVe+FVfMWvcycu7er AdHQ== X-Gm-Message-State: AOJu0YzlQ0tzbybfvnehuJcxNI9YptffY6Gqg6Gi+IuOZxMwDt1fDyVJ V36p+7bEhQUG4IY1cV1Yzru26RzT8/zZCtwaie+JveMGP/QtXplzTnHm+ZV8NUKAHLbDE2zSPRf M0+wdHOWQ99LdHVLRq9nGGdrwBOIyTJBYtvAepA+rzLXBcKsSEFr4zzfYHN9A2r3Sm273DBMaDz LACbrypPQ3O6QmZ61lt7vKRdqroJHbYx48Ng== X-Gm-Gg: ASbGncum2GQx8avW/LXykB3pBt6DY0rbDTd/qC0GL+t4JqXFiIVl9DmRJ8Bi4O9oYBW DYPEhQ7ZjDitToYIb2z5zQ43ldAnOTUYHmLS0aOszDBcdum/jRHGK7fA8+1KcJNW9auDpAhL1RQ 4dIe0hYMgf7ca1W2O9/p8ja2dHEKGIiuAxo3BkyRx/FL4zWp5j+L+8XoJ2KPAj2fQOsKa/Sf3ws vBZnBhOkTP8MZBN+VVTfgEs5VhHoxJq50QOcS/riYUyJaNRLARsHVeld/isM6o8b7A2CHfSToV9 /lXBu1kcsvbBeSWS589KkWySdhpyVvxA X-Received: by 2002:a5d:64c4:0:b0:3b7:9af4:9c75 with SMTP id ffacd0b85a97d-3b8d348e398mr2227507f8f.30.1754058310223; Fri, 01 Aug 2025 07:25:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEDYhSYUP2yuvx0PWjg60xUssHxKkda4QqYk9jHuLD8qTU5IhqQAzK+PmAxA6f2Ek1FmQdFXQ== X-Received: by 2002:a5d:64c4:0:b0:3b7:9af4:9c75 with SMTP id ffacd0b85a97d-3b8d348e398mr2227477f8f.30.1754058309663; Fri, 01 Aug 2025 07:25:09 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:07 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Hanna Czenczek , Manos Pitsidianakis , Stefano Garzarella , Lei Yang Subject: [PULL 03/17] vhost: Do not abort on log-stop error Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058896917116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hanna Czenczek Failing to stop logging in a vhost device is not exactly fatal. We can log such an error, but there is no need to abort the whole qemu process because of it. Signed-off-by: Hanna Czenczek Message-Id: <20250724125928.61045-3-hreitz@redhat.com> Reviewed-by: Manos Pitsidianakis Reviewed-by: Stefano Garzarella Tested-by: Lei Yang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/vhost.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 05ad5de629..6557c58d12 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1122,7 +1122,8 @@ static void vhost_log_global_stop(MemoryListener *lis= tener) =20 r =3D vhost_migration_log(listener, false); if (r < 0) { - abort(); + /* Not fatal, so report it, but take no further action */ + warn_report("vhost: Failed to stop logging"); } } =20 --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059356; cv=none; d=zohomail.com; s=zohoarc; b=D5NfvXnb6mkC4sYIlTvzhAb2d5ImbjOOAHfsuHLHuZ4wJgAy1Ve/8fOPXuX8CwM1i0LSaHonPpaX5VV67FtWusVsEEFF0E4CYGeOEgoiuoLcWqAdX8K3Y9lWKk7K5k9HFVSxzOWIY/Fi8cVSSAm6QZdk6ToTXJzmioWHkyFhBsI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059356; h=Content-Type:Cc:Cc: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; bh=Q969NkzaQmllQbxw1VC2F9uXj/0NwIk7LvKmAGmz3/o=; b=GW4aD8QDOOwXDKVUfpfVq/TddLW0vLArmUeKRVBcXCdxgbcWUg1FVhN17wkqwJe26fd0KQV6HiJnlERDKqg0EZ7LM73QCtXneoa3ejnMqGFcI1cLxrqGm6Tf4VvWwJUzmltThrj9g1A9DzXiHTfAoLjZmCzPwMqDfF0WTFJh+7I= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059356885888.4910922273723; Fri, 1 Aug 2025 07:42:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnv-000072-19; Fri, 01 Aug 2025 10:32:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhM-0005Qa-Qo for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhF-0002eq-1k for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:28 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-346-d5zIqHKhOS67unlgG0DIxg-1; Fri, 01 Aug 2025 10:25:14 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3b785d52c19so470178f8f.1 for ; Fri, 01 Aug 2025 07:25:13 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c3abf33sm6065349f8f.7.2025.08.01.07.25.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Q969NkzaQmllQbxw1VC2F9uXj/0NwIk7LvKmAGmz3/o=; b=a284dMfnClrTOjDECFKTGImnakOBDJUKQcOLCXs2xWtI4YFQ9FFwOrAi/T5CCJctPWXPvm WreqAZHvkxEpiDZpSnWSEcGJsyMQSpsiY+ZQP8ip1GGi62GsxCDEaP4UwinzvaZ6cvtMy1 Dd1sWnhkig4U4hMJgw9FJ9uAvCNnDcA= X-MC-Unique: d5zIqHKhOS67unlgG0DIxg-1 X-Mimecast-MFC-AGG-ID: d5zIqHKhOS67unlgG0DIxg_1754058313 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058313; x=1754663113; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Q969NkzaQmllQbxw1VC2F9uXj/0NwIk7LvKmAGmz3/o=; b=nbwx1UhBtw5yJYr+gsQ8yr3eYUzrkaR5Ot0AbqD5Z/1KpBpaZ8I2VUU5aJgNHntMIY 4igWCuHoHaOZhBI7DYAJzxZrbMCBFxXJM/tEtxnzjSWiZOIfEPRvFcHSFcRRa2+yzM2h aiB88h9RESPB8pAqjmWjz3hF7mS27llhZ6AcENbvvMFNg9XBHhbPyKTW8lFetMR2XJJx xtEMyQQLm2fqslKg7GkZkvZgpG6HDJ959OuxuqU1rTTtXs0zM0RKVmFIIGU7XOvZARbD x9zT2hLcnCB1LvQCqyx1MG6Rcjx4iofM7WmueQYnAUCssrn7Y9dzXc7noSK9Uq/ZRpRg tKKw== X-Gm-Message-State: AOJu0YyvZZM0L8vE05hfC3c22Le6vkcEEwAFWePgqs/Q+xX1AJ/1Z5qc ZNNqbPaEpLrU3dJXPbFRcN7EcLT/S2CP6t5Fvj+nUX57zI6bbsUDW/go00h4nmPKkK/EaqSw7se HPqHHTCzu32bfYDOGdl53LiPGIhSNKO6P6Pl/PqeKXUMJaA2Pzp5Ztbdic/PukCbWvDJevOpkyI pcfEXlNfTZChoz8+SkkSZ8hAhhOBW1v506wQ== X-Gm-Gg: ASbGncvu8pidTfv4lPvzfL8yAYfit4zim3vLXGPKgouwVLFbNqSOANGfGDYnfE6RZe7 GK+YqrZ+v+H0If6RRPezwjInrzoGDfqkXAU8PqvrTEhkEICPHrnFHRw89IgaREAa1mBM9DhKBGn 3KBWwHRL/bA0GpAYxSb/sgmIRAxHiPRcaa+czAzlRfx8L92fahqbzfQCRJCTyXtMUusY3XkJMgC 0z08HnUyEuEIX9HGPFkdZQkP2mCmucxnTTv6BOB3sIago5+EMTLZtgmRcehrbVhgxv/TnCrDhca h8k236sF9T9r879cP/CoATj1Gva9nBiX X-Received: by 2002:a5d:64e5:0:b0:3a4:eda1:6c39 with SMTP id ffacd0b85a97d-3b794fd57f8mr9473823f8f.13.1754058312620; Fri, 01 Aug 2025 07:25:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2h8ZAWovBjWNmgt9YLv6mW5oh5cIoqRXN20jp3dfuH+kf3W5ViTdkZ8ajjOiYRNvkX4FskA== X-Received: by 2002:a5d:64e5:0:b0:3a4:eda1:6c39 with SMTP id ffacd0b85a97d-3b794fd57f8mr9473786f8f.13.1754058312077; Fri, 01 Aug 2025 07:25:12 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:09 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , qemu-stable@nongnu.org, Konstantin Shkolnyy , Lei Yang , Jason Wang Subject: [PULL 04/17] virtio-net: Fix VLAN filter table reset timing Message-ID: <6071d13c6a37493a6b26e1609b09a98aa058038a.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @redhat.com) X-ZM-MESSAGEID: 1754059359351124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki Problem Reported-by: Konstantin Shkolnyy Reviewed-by: Michael S. Tsirkin Tested-by: Konstantin Shkolnyy Tested-by: Lei Yang ------- The expected initial state of the table depends on feature negotiation: With VIRTIO_NET_F_CTRL_VLAN: The table must be empty in accordance with the specification. Without VIRTIO_NET_F_CTRL_VLAN: The table must be filled to permit all VLAN traffic. Prior to commit 06b636a1e2ad ("virtio-net: do not reset vlan filtering at set_features"), virtio_net_set_features() always reset the VLAN table. That commit changed the behavior to skip table reset when VIRTIO_NET_F_CTRL_VLAN was negotiated, assuming the table would be properly cleared during device reset and remain stable. However, this assumption breaks when a driver renegotiates features: 1. Initial negotiation without VIRTIO_NET_F_CTRL_VLAN (table filled) 2. Renegotiation with VIRTIO_NET_F_CTRL_VLAN (table will not be cleared) The problem was exacerbated by commit 0caed25cd171 ("virtio: Call set_features during reset"), which triggered virtio_net_set_features() during device reset, exposing the bug whenever VIRTIO_NET_F_CTRL_VLAN was negotiated after a device reset. Solution -------- Fix the issue by initializing the table when virtio_net_set_features() is called to change the VIRTIO_NET_F_CTRL_VLAN bit of vdev->guest_features. This approach ensures the correct table state regardless of feature negotiation sequence by performing initialization in virtio_net_set_features() as QEMU did prior to commit 06b636a1e2ad ("virtio-net: do not reset vlan filtering at set_features"). This change still preserves the goal of the commit, which was to avoid resetting the table during migration, by checking whether the VIRTIO_NET_F_CTRL_VLAN bit of vdev->guest_features is being changed; vdev->guest_features is set before virtio_net_set_features() gets called during migration. It also avoids resetting the table when the driver sets a feature bitmask with no change for the VIRTIO_NET_F_CTRL_VLAN bit, which makes the operation idempotent and its semantics cleaner. Additionally, this change ensures the table is initialized after feature negotiation and before the DRIVER_OK status bit being set for compatibility with the Linux driver before commit 50c0ada627f5 ("virtio-net: fix race between ndo_open() and virtio_device_ready()"), which did not ensure to set the DRIVER_OK status bit before modifying the table. Fixes: 06b636a1e2ad ("virtio-net: do not reset vlan filtering at set_featur= es") Cc: qemu-stable@nongnu.org Reported-by: Konstantin Shkolnyy Signed-off-by: Akihiko Odaki Tested-by: Konstantin Shkolnyy Tested-by: Lei Yang Message-Id: <20250727-vlan-v3-1-bbee738619b1@rsg.ci.i.u-tokyo.ac.jp> Tested-by: Konstantin Shkolnyy Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index c4c49b0f9c..6b5b5dace3 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -929,8 +929,9 @@ static void virtio_net_set_features(VirtIODevice *vdev,= uint64_t features) vhost_net_save_acked_features(nc->peer); } =20 - if (!virtio_has_feature(features, VIRTIO_NET_F_CTRL_VLAN)) { - memset(n->vlans, 0xff, MAX_VLAN >> 3); + if (virtio_has_feature(vdev->guest_features ^ features, VIRTIO_NET_F_C= TRL_VLAN)) { + bool vlan =3D virtio_has_feature(features, VIRTIO_NET_F_CTRL_VLAN); + memset(n->vlans, vlan ? 0 : 0xff, MAX_VLAN >> 3); } =20 if (virtio_has_feature(features, VIRTIO_NET_F_STANDBY)) { @@ -3942,6 +3943,7 @@ static void virtio_net_device_realize(DeviceState *de= v, Error **errp) n->mac_table.macs =3D g_malloc0(MAC_TABLE_ENTRIES * ETH_ALEN); =20 n->vlans =3D g_malloc0(MAX_VLAN >> 3); + memset(n->vlans, 0xff, MAX_VLAN >> 3); =20 nc =3D qemu_get_queue(n->nic); nc->rxfilter_notify_enabled =3D 1; @@ -4041,7 +4043,6 @@ static void virtio_net_reset(VirtIODevice *vdev) memset(n->mac_table.macs, 0, MAC_TABLE_ENTRIES * ETH_ALEN); memcpy(&n->mac[0], &n->nic->conf->macaddr, sizeof(n->mac)); qemu_format_nic_info_str(qemu_get_queue(n->nic), n->mac); - memset(n->vlans, 0, MAX_VLAN >> 3); =20 /* Flush any async TX */ for (i =3D 0; i < n->max_queue_pairs; i++) { --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059070; cv=none; d=zohomail.com; s=zohoarc; b=VJB6iJkJxRFxDWkLsbCWW1WjqR9SieT9+djuaFKds+y7RAQsgxXQhJ2TzZpuQIULOyppxNFRc/6qaukAsmb+kQC/vQXsmTfxk3iz0rUj/g3/oaugi4hB+73O9P0x8npaB3mRjDnu9h7rtQgMzIZzbFn/LvVj3ONLsRNIBJw3jZM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059070; h=Content-Type:Cc:Cc: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; bh=XAofeyebdsGW/e1tEO4SwMiUgOjkX2ugMkQZdGR+eug=; b=jlPM+KgyzPGN9oyPVqsq+rwsq2N2XEzb1+BJiKhjwI7UyTPxcJUT+Gxray6aEda88SmNrX6uF7+uWcd/P/KzhaHonptBPOBTrC4uFOHUK/pc5TOXDab6ZEcoO5hVgD6Srw1BIC87R0lcFWyy3YW0Q3F6slAT9E8oqCnPUH2y7cY= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059070507806.8060317448374; Fri, 1 Aug 2025 07:37:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnx-0000Id-Og; Fri, 01 Aug 2025 10:32:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhL-0005QD-84 for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhE-0002fV-60 for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:23 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-244-7Iin7O9zMvuPNn94cOxXew-1; Fri, 01 Aug 2025 10:25:16 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b7806a620cso1006956f8f.3 for ; Fri, 01 Aug 2025 07:25:16 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c453ab0sm6197982f8f.44.2025.08.01.07.25.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XAofeyebdsGW/e1tEO4SwMiUgOjkX2ugMkQZdGR+eug=; b=cqVG3Hm4smQiVtZMXpvii7w8pUG0zc+Et8PnAeAv9JfNzRIRVGr3TFH2bXM2FNyWzpUr1p fr/WjUomVMQbgcg85pWvopCEK4wiyzKob/AVDTIpbt5RvdaZAqgemormUDl/+fMsTqq3Si jtaVjQUIENOc4hqLSDePvgVJR3HmF8k= X-MC-Unique: 7Iin7O9zMvuPNn94cOxXew-1 X-Mimecast-MFC-AGG-ID: 7Iin7O9zMvuPNn94cOxXew_1754058315 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058315; x=1754663115; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XAofeyebdsGW/e1tEO4SwMiUgOjkX2ugMkQZdGR+eug=; b=bjh6trpAKaelMm4Z8p0hi8ftK2Y5BT9ONKWhlV9bHEFXXgEyjRwRshbaUJduAlsm54 upUKywHqmPEZGQLIti2YcrtQwWZHFaqrjrbSMH4xzZiBSQYvWHvfZ70S9xkbNQJxBhkk Ea58p200bL5z4kSTOZ+3YxKufaDxW4Cj3IaPz+Fu6CoQ8o2N93DkSWdohPK88sidn0kt SPX5oyoCorYyAsoRQEtFQULF1G0bQ1RqoPPTarZweM2NQ9Ge3C02SuHuP0/OrISmQNtG tzIXvhxPAI0Jyqys8yfWo/zjVkR3h8oKGSx5IU7ILEeDuuH/CcLBytGzQNknV1xClOod 7S6A== X-Gm-Message-State: AOJu0Yx2vxqlfb58qcE7OpLAOljXmP4q1ZECkcjOtL2rw/XGe+i5UzKw m4RGxeGLBI37FqXDZJH4dr68FW39dTTzFc9Hp8KpcYfctZ/BNhEQntBJHL2M1uXu52TB7vhAqL/ XfYYHa2iXwgznpmfyHFUw6vDIkRiQbmuMMZumF7IDvedT7ozM9I5EeyxXih/Ug0xcmzReRJzoYL 0x5OOOiKmg6m07U1sD/dNSrgyWBum/XXuh3w== X-Gm-Gg: ASbGncvAGoj7DWc1JEui51Hjj/CXeytLzyRea6TdN66sSlxqMRstjLezt8HYBz3q/Lp syQg5OVwafekBUTWjGcNcjM3K31Hvbgoq3wBlq7eo/dlZu8kAPyr2ZAAsanVvUMOnNVTqnYP7vL M7CRIy3a8tNtGuYERycDAdRrXq8PGWyhbtHsP1ylaN3LtBDmgzOWqQ1cGTSGvVa6vAmlG1+0Y81 BZxVVq+rsVkWuoWvp+ign3zDALZBQnJseiwh7G4NNNEZ3QyRZBYf8muKMKP3Q+b43HDloMbq4uH cDR1Rynh/dKQV5qlqDvnygCeva9u+IHs X-Received: by 2002:a05:6000:400d:b0:3b7:9c79:32ac with SMTP id ffacd0b85a97d-3b79c793736mr5710368f8f.52.1754058314637; Fri, 01 Aug 2025 07:25:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEis61ueW+ywVW6Av7emG/HqiyPD+2ig8hLB2lrqvDaVMqbSlRV6oOz625b0IBa4RM3u43c7g== X-Received: by 2002:a05:6000:400d:b0:3b7:9c79:32ac with SMTP id ffacd0b85a97d-3b79c793736mr5710338f8f.52.1754058314096; Fri, 01 Aug 2025 07:25:14 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:12 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , qemu-stable@nongnu.org, Corentin BAYET , Marcel Apfelbaum Subject: [PULL 05/17] pcie_sriov: Fix configuration and state synchronization Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @redhat.com) X-ZM-MESSAGEID: 1754059072899124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki Fix issues in PCIe SR-IOV configuration register handling that caused inconsistent internal state due to improper write mask handling and incorrect migration behavior. Two main problems were identified: 1. VF Enable bit write mask handling: pcie_sriov_config_write() incorrectly assumed that its val parameter was already masked, causing it to ignore the actual write mask. This led to the VF Enable bit being processed even when masked, resulting in incorrect VF registration/unregistration. It is identified as CVE-2025-54567. 2. Migration state inconsistency: pcie_sriov_pf_post_load() unconditionally called register_vfs() regardless of the VF Enable bit state, creating inconsistent internal state when VFs should not be enabled. Additionally, it failed to properly update the NumVFs write mask based on the current configuration. It is identified as CVE-2025-54566. Root cause analysis revealed that both functions relied on incorrect special-case assumptions instead of properly reading and consuming the actual configuration values. This change introduces a unified consume_config() function that reads actual configuration values and synchronize the internal state without special-case assumptions. The solution only adds register read overhead in non-hot-path code while ensuring correct SR-IOV state management across configuration writes and migration scenarios. Fixes: 5e7dd17e4348 ("pcie_sriov: Remove num_vfs from PCIESriovPF") Fixes: f9efcd47110d ("pcie_sriov: Register VFs after migration") Fixes: CVE-2025-54566 Fixes: CVE-2025-54567 Cc: qemu-stable@nongnu.org Reported-by: Corentin BAYET Signed-off-by: Akihiko Odaki Message-Id: <20250727-wmask-v2-1-394910b1c0b6@rsg.ci.i.u-tokyo.ac.jp> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/pci/pcie_sriov.c | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c index 3ad18744f4..8a4bf0d6f7 100644 --- a/hw/pci/pcie_sriov.c +++ b/hw/pci/pcie_sriov.c @@ -64,6 +64,27 @@ static void unregister_vfs(PCIDevice *dev) pci_set_word(dev->wmask + dev->exp.sriov_cap + PCI_SRIOV_NUM_VF, 0xfff= f); } =20 +static void consume_config(PCIDevice *dev) +{ + uint8_t *cfg =3D dev->config + dev->exp.sriov_cap; + + if (pci_get_word(cfg + PCI_SRIOV_CTRL) & PCI_SRIOV_CTRL_VFE) { + register_vfs(dev); + } else { + uint8_t *wmask =3D dev->wmask + dev->exp.sriov_cap; + uint16_t num_vfs =3D pci_get_word(cfg + PCI_SRIOV_NUM_VF); + uint16_t wmask_val =3D PCI_SRIOV_CTRL_MSE | PCI_SRIOV_CTRL_ARI; + + unregister_vfs(dev); + + if (num_vfs <=3D pci_get_word(cfg + PCI_SRIOV_TOTAL_VF)) { + wmask_val |=3D PCI_SRIOV_CTRL_VFE; + } + + pci_set_word(wmask + PCI_SRIOV_CTRL, wmask_val); + } +} + static bool pcie_sriov_pf_init_common(PCIDevice *dev, uint16_t offset, uint16_t vf_dev_id, uint16_t init_vf= s, uint16_t total_vfs, uint16_t vf_offs= et, @@ -416,30 +437,13 @@ void pcie_sriov_config_write(PCIDevice *dev, uint32_t= address, trace_sriov_config_write(dev->name, PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn), off, val, len); =20 - if (range_covers_byte(off, len, PCI_SRIOV_CTRL)) { - if (val & PCI_SRIOV_CTRL_VFE) { - register_vfs(dev); - } else { - unregister_vfs(dev); - } - } else if (range_covers_byte(off, len, PCI_SRIOV_NUM_VF)) { - uint8_t *cfg =3D dev->config + sriov_cap; - uint8_t *wmask =3D dev->wmask + sriov_cap; - uint16_t num_vfs =3D pci_get_word(cfg + PCI_SRIOV_NUM_VF); - uint16_t wmask_val =3D PCI_SRIOV_CTRL_MSE | PCI_SRIOV_CTRL_ARI; - - if (num_vfs <=3D pci_get_word(cfg + PCI_SRIOV_TOTAL_VF)) { - wmask_val |=3D PCI_SRIOV_CTRL_VFE; - } - - pci_set_word(wmask + PCI_SRIOV_CTRL, wmask_val); - } + consume_config(dev); } =20 void pcie_sriov_pf_post_load(PCIDevice *dev) { if (dev->exp.sriov_cap) { - register_vfs(dev); + consume_config(dev); } } =20 --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058867; cv=none; d=zohomail.com; s=zohoarc; b=BvYEtvoZc3JWCFXPFoPOw4qo47nc+xJmO4l0YneaQi3qh22dXYgrWYwX5NqmO7NV9ptOn0u0qoIptU9G6rgEPnq2kh2/4VoOe9ZJKfWRrUY8PZwAfsxsPhPQOIXULpRrJmOTpPhfjSnVNa7QucVwVOaORxtL9PmyAiptxiXVJxg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058867; h=Content-Type:Content-Transfer-Encoding:Cc:Cc: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; bh=juJQ/hFTjs1a2j/Tj1r7rgVJhv27n25AWpAqA5inFBY=; b=R+f8pXoTG9E0OZla0zT08lKcLPv5xwtiLqBQnOtWaBd+x9R9boQvV0yWgMoADZPDSXLuxN4H+XizU9eEZdtNzWuCzoGMfw0w0Pj44gcllC5wyhggvFuM3/SWhRqH0rObAjly6tp1swtP5ANp7f8ElzWbt5E5CmPeA8NMWpfe0ZE= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058867700958.2368892006313; Fri, 1 Aug 2025 07:34:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnN-0006Nz-V6; Fri, 01 Aug 2025 10:31:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhO-0005RR-Is for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhL-0002hL-1g for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:29 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-400-Ufuzzuw1MPqapSP9IVe1cA-1; Fri, 01 Aug 2025 10:25:19 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3b793f76a46so1916137f8f.2 for ; Fri, 01 Aug 2025 07:25:18 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c3abed3sm6042326f8f.10.2025.08.01.07.25.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058321; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=juJQ/hFTjs1a2j/Tj1r7rgVJhv27n25AWpAqA5inFBY=; b=TPtxExSqWA01ZWlJiPoQeq04jegnh57KVLtL+WgtNlKPnyxIdQ+t+Tkz/2tAMX9yKsay1h e9hqgbLaKzoqQnDh38iQrifC1/MrZCh0Wja73JoilVP+p4O2V0zBhYUvhlLpda0JAEaxvz Gz3TQ4ZsXx7HmO6LxJRsyXCKtqxXyxw= X-MC-Unique: Ufuzzuw1MPqapSP9IVe1cA-1 X-Mimecast-MFC-AGG-ID: Ufuzzuw1MPqapSP9IVe1cA_1754058318 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058317; x=1754663117; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=juJQ/hFTjs1a2j/Tj1r7rgVJhv27n25AWpAqA5inFBY=; b=h6ZzVX8euVVPWziYinaUW3raCFrUrlvve9RorXXbdW2GOgE2Wg6JZ5vs8o4J1rWuMb PpzbDkUr/kU549XhyPnvcwVmjR7PIvNjXZbfjpdRjk/+lVNZRJRsW5bJXWlhfI57T1Bf pmqKiOG/Kzh/raONRf4F/6yZv7cu5XKTMKlH27uQUMiPPOB2kubtc9O78rrQK0sbCpdY YV5B24WH/D+98XIFqykFwGyzTpDCUamJBMYxooCrUWD8UltZ+IdWHQ6mo7TEkrkezzhw /oy32zmd3XzY8sCAiR0v+QYoair+RWSBcxYyZsEOXVZrcaIPmou5+zHPrkwgjCEGroNy fpzw== X-Gm-Message-State: AOJu0Yx9B6D6ADdNw4S48bC2R2dqslNnDJwvifPltJ+pkq8/GvLoi1hF JcgGIiJ77seqWtBednNQuA8/wz4X+GH2t5hQhntXqbiwjeTqwvNh1XzNwr/5mN/5Z5qWNmOwRwi nv0grTPqVgOL4RydhzxbAOYLS4kt5Swz/gT/vstH48vbKRdOAQJKKDctKvl5XiXtIFL+TTwDkG4 EkcBDvL+Vn5n82OeC8jdWl6UXtHjIeNoJ9sQ== X-Gm-Gg: ASbGncvKZ+HfpOPl3zlIgdM/P36APsyJlpFm3hhMkF84+k+1wzgsAdug1eFvK12VUHy m9QLznW8WQWvembGhc2Rmn/RdrtK4NF7HqWHjrWgUQMkOrKTW2/4ML2cTpV4bFl9rI8YVbhMxyZ SI/EWMM+6hb0gj3oT+adXP9MpQ0JG/uwurq3PUtJRSW81t9n+NiXDuNRLRdrZeUW2eTLytjj9Wf gqyGaZe46yxfU79wMj7rduwF6YeonW2aypN8c84jnBjmFXbWFAT7TlmRNiUpDaFivP7/Y99nI5u pFf43dC6aKqARE9dqU340AqHy3i39axw X-Received: by 2002:a05:6000:1785:b0:3b7:83c0:a9ab with SMTP id ffacd0b85a97d-3b795035de2mr10720803f8f.55.1754058317310; Fri, 01 Aug 2025 07:25:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEhlTFUnKF0XKj5YBims/YinJb+/4Rl9uNaLsdQeT+jTp1rJ4aLnqloSBATDBoFdUN49XyqBA== X-Received: by 2002:a05:6000:1785:b0:3b7:83c0:a9ab with SMTP id ffacd0b85a97d-3b795035de2mr10720766f8f.55.1754058316691; Fri, 01 Aug 2025 07:25:16 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:14 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Vasant Hegde , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 06/17] hw/i386/amd_iommu: Fix MMIO register write tracing Message-ID: <96c75abc872c1a90c8e1f4a4d2ed35e89a1befe9.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058868530116600 From: Sairaj Kodilkar Define separate functions to trace MMIO write accesses instead of using `trace_amdvi_mmio_read()` for both read and write. Signed-off-by: Sairaj Kodilkar Reviewed-by: Vasant Hegde Reviewed-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20250801060507.3382-2-sarunkod@amd.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 5a24c17548..7fb0bb68f0 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -592,18 +592,31 @@ static void amdvi_cmdbuf_run(AMDVIState *s) } } =20 -static void amdvi_mmio_trace(hwaddr addr, unsigned size) +static inline uint8_t amdvi_mmio_get_index(hwaddr addr) { uint8_t index =3D (addr & ~0x2000) / 8; =20 if ((addr & 0x2000)) { /* high table */ index =3D index >=3D AMDVI_MMIO_REGS_HIGH ? AMDVI_MMIO_REGS_HIGH := index; - trace_amdvi_mmio_read(amdvi_mmio_high[index], addr, size, addr & ~= 0x07); } else { index =3D index >=3D AMDVI_MMIO_REGS_LOW ? AMDVI_MMIO_REGS_LOW : i= ndex; - trace_amdvi_mmio_read(amdvi_mmio_low[index], addr, size, addr & ~0= x07); } + + return index; +} + +static void amdvi_mmio_trace_read(hwaddr addr, unsigned size) +{ + uint8_t index =3D amdvi_mmio_get_index(addr); + trace_amdvi_mmio_read(amdvi_mmio_low[index], addr, size, addr & ~0x07); +} + +static void amdvi_mmio_trace_write(hwaddr addr, unsigned size, uint64_t va= l) +{ + uint8_t index =3D amdvi_mmio_get_index(addr); + trace_amdvi_mmio_write(amdvi_mmio_low[index], addr, size, val, + addr & ~0x07); } =20 static uint64_t amdvi_mmio_read(void *opaque, hwaddr addr, unsigned size) @@ -623,7 +636,7 @@ static uint64_t amdvi_mmio_read(void *opaque, hwaddr ad= dr, unsigned size) } else if (size =3D=3D 8) { val =3D amdvi_readq(s, addr); } - amdvi_mmio_trace(addr, size); + amdvi_mmio_trace_read(addr, size); =20 return val; } @@ -770,7 +783,7 @@ static void amdvi_mmio_write(void *opaque, hwaddr addr,= uint64_t val, return; } =20 - amdvi_mmio_trace(addr, size); + amdvi_mmio_trace_write(addr, size, val); switch (addr & ~0x07) { case AMDVI_MMIO_CONTROL: amdvi_mmio_reg_write(s, size, val, addr); --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058777; cv=none; d=zohomail.com; s=zohoarc; b=H2MgGRCWEipAyXWY8ceH8KZJKlQpux998b/VmcszAiWqraX2+SdNYybaSQjWGr1tRCPm74YsZOW8ELmGhK9AvPZZkXG9Z2+si8tzEbxWfaivuyMVukxj4KjHAbchezjB8S/Adbo5VvGbltDnefjqhdrK0HKQSMqduhqg7dKEvo8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058777; h=Content-Type:Content-Transfer-Encoding:Cc:Cc: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; bh=Le6Lc/zgcKxFCuW53MWLO1Ha7klLf+FruZHCeB1RbYs=; b=lMyAcXqKq4sWCTPJTaP5qC1CYgBf+ggqRMqJ1ynasbI/83N85W/UrO2XPLZmRm5uwDTHk/6Jso1iFgGZrtI4VJY7dHGeljc1D6NJAbr74VeqCh/zFFNUWfvmmxbV6CmC89G/t5e8dm5b+tqpiutGCM20lm/Oh8AgtRcE2Vj5nSk= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058777552754.7070395764912; Fri, 1 Aug 2025 07:32:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnQ-0006Zp-8Z; Fri, 01 Aug 2025 10:31:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhP-0005Rc-Pn for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:34 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhM-0002hg-Ph for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:31 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-221-Zt9SDS73OcKVXl5egUa3ZA-1; Fri, 01 Aug 2025 10:25:21 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45896cf24fbso8840905e9.2 for ; Fri, 01 Aug 2025 07:25:21 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c4a6ff7sm6154540f8f.75.2025.08.01.07.25.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058322; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Le6Lc/zgcKxFCuW53MWLO1Ha7klLf+FruZHCeB1RbYs=; b=WIDTRQAAXP+08gWdapMmO9XbLwv47jb/0kZj7qS8JDPoRJm2YKSbu5RaIQNW8EuYywqY13 VtmcPBhUk/fhZ/IF2qCFLjHfvTRsPRX1sfmEFsr5H9T8p7u7qOwk/Mnk91KLn4TDUtkljp 3cNAca675QVG4fKeF6wZkUFxQQQYN+w= X-MC-Unique: Zt9SDS73OcKVXl5egUa3ZA-1 X-Mimecast-MFC-AGG-ID: Zt9SDS73OcKVXl5egUa3ZA_1754058320 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058320; x=1754663120; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Le6Lc/zgcKxFCuW53MWLO1Ha7klLf+FruZHCeB1RbYs=; b=NA8E3yurOKjyokiBDyl5tkFpk+oik/8HuxK3aKT4FUCAf5Rkbix3Tb3yovgKxdFdYC VuZ119G8vV058UvHacOXl/ooIqaR/YlY1cxRYIXo9j1ILTwmnLQFOYIYa//hUsetIaA/ lu2DTodJOEuteB9nwqlpNaS13OqcGe7gVvYElnBpB002GLQHAl3IhskNvxs3F5Z03QIl EVuKYkD4QXGLbpV/hMQ6wVzxJD9iniIQHYfIX4oI1/cWenzVFSG1JQubG8RDFH/WS6l7 n8k++CcG/cnCQPlu5OGKQeUCOIhhL4m3EVjLgfIzlKiv2WdtcbydVIeSJ2gHuoxbLy01 XLNQ== X-Gm-Message-State: AOJu0YzHuqRyJKyAN3DuIIhC3FHHF/rl9kuecHVoIYBi6ru+UV/NAXP9 SMUoNxOL72WkfUelIKKetvu59BU5a1hAxMdzuOPJlKKuWcCQU2f0rh9ZJiHZXWCNkO4FDmZcNtW s+IuKDQT6WzugUtyIb9l1BCk7vb5Oin+USTgrfqhz8+Opgq2T/qeuY+fvNuJjyV5J2nNtvX2Swy KjY7BUIxovuN1Twa6SXB3F84O/mGKmyx8HQg== X-Gm-Gg: ASbGncuiTPGmpWkiMv9vhfgm/DuCF3mzQ3PGM+tFXONHOLs4X7ez0+LPV4QqNTeNSjl ChDFNG4xwMDIUX4DJHwK2QsU9AaFtd5QtLHiRnhr5kJ44EBR5hXZgztr2nXyTg+AC61DWAiofpc 6LE6NrCOYT9XIxEyaKYESbG49Jy1UEw2ZXJux9dgf1/an59atZOCdR027z/imv7OtEAwtu/JTgk swVAuZi2fiMCT3ikSNnoWKCilXYMLk+MB07Cj58OLJLaUgJSbEwXb1LiLqCMN8bsGWx5jUhMtL4 RENeaXVGO7KKhV1MOeDV708Dw5RRm+ok X-Received: by 2002:a05:600c:83cc:b0:450:d37d:7c with SMTP id 5b1f17b1804b1-45894ca4e1cmr93284345e9.21.1754058319707; Fri, 01 Aug 2025 07:25:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEnAa0qxkeCi/LltrEUId9RU19B+2oEdn/a0TcTBb1Jck+i8wy+8TWvlTodEgjov54muF7PBw== X-Received: by 2002:a05:600c:83cc:b0:450:d37d:7c with SMTP id 5b1f17b1804b1-45894ca4e1cmr93283995e9.21.1754058319196; Fri, 01 Aug 2025 07:25:19 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:16 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Vasant Hegde , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 07/17] hw/i386/amd_iommu: Remove unused and wrongly set ats_enabled field Message-ID: <47d50cc421b832650822d73431d920bb8a80bc38.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058781113124100 From: Sairaj Kodilkar The ats_enabled field is set using HTTUNEN, which is wrong. Fix this by removing the field as it is never used. MST: includes a tweak suggested by Philippe Fixes: d29a09ca68428 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Sairaj Kodilkar Reviewed-by: Vasant Hegde Message-Id: <20250801060507.3382-3-sarunkod@amd.com> Message-ID: <948a6ac3-ded9-475b-8c45-9d36220b442b@linaro.org> Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 1 - hw/i386/amd_iommu.c | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 8b42913ed8..67078c6f1e 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -322,7 +322,6 @@ struct AMDVIState { uint64_t mmio_addr; =20 bool enabled; /* IOMMU enabled */ - bool ats_enabled; /* address translation enabled */ bool cmdbuf_enabled; /* command buffer enabled */ bool evtlog_enabled; /* event log enabled */ bool excl_enabled; diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 7fb0bb68f0..037e78056d 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -646,7 +646,6 @@ static void amdvi_handle_control_write(AMDVIState *s) unsigned long control =3D amdvi_readq(s, AMDVI_MMIO_CONTROL); s->enabled =3D !!(control & AMDVI_MMIO_CONTROL_AMDVIEN); =20 - s->ats_enabled =3D !!(control & AMDVI_MMIO_CONTROL_HTTUNEN); s->evtlog_enabled =3D s->enabled && !!(control & AMDVI_MMIO_CONTROL_EVENTLOGEN); =20 @@ -1555,7 +1554,6 @@ static void amdvi_init(AMDVIState *s) s->excl_allow =3D false; s->mmio_enabled =3D false; s->enabled =3D false; - s->ats_enabled =3D false; s->cmdbuf_enabled =3D false; =20 /* reset MMIO */ @@ -1626,7 +1624,8 @@ static const VMStateDescription vmstate_amdvi_sysbus_= migratable =3D { /* Updated in amdvi_handle_control_write() */ VMSTATE_BOOL(enabled, AMDVIState), VMSTATE_BOOL(ga_enabled, AMDVIState), - VMSTATE_BOOL(ats_enabled, AMDVIState), + /* bool ats_enabled is obsolete */ + VMSTATE_UNUSED(1), /* was ats_enabled */ VMSTATE_BOOL(cmdbuf_enabled, AMDVIState), VMSTATE_BOOL(completion_wait_intr, AMDVIState), VMSTATE_BOOL(evtlog_enabled, AMDVIState), --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059056; cv=none; d=zohomail.com; s=zohoarc; b=PIV0Rvl/9IGA4qNbrR4/Hyfa96Skx3AvgwZrI5J+lZPvDJZeBCxyuTuVAjnir/+qap5UJIHOowqIz22Ol2qgtFru6t7OTMgrPUq3vgo4DSz6V62byV4uNA+XMrk3cTDjpYRhEqPkVjY+8O9hHn2+M5kCpRjRJc2+07+IVB+8Dxk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059056; h=Content-Type:Cc:Cc: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; bh=skaRuHczCVKfOwEwu0xPYWoe46Si7UXt2McCcCPTErQ=; b=eJylKPkYAGSNNn9oIiPsC/dejni8XbpsDuFSdVOQSrFSMCqQSKv89/HZdRbutlQ0nphxeAxf7Iv2Jj2CSdvNX3iFH7g7YeBVo8h1hb3v6G3vq6JO1cKLD9c69xHs7goq5oFDjlGO1r69HfEmIk0QRJVu9gVOPOazCSg+QxJCE+E= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059056758579.13990398591; Fri, 1 Aug 2025 07:37:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnZ-0007JH-JD; Fri, 01 Aug 2025 10:31:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhO-0005RQ-I4 for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhK-0002iA-V1 for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:29 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-367-tu4jVcxYPf6HC6GjGpujYw-1; Fri, 01 Aug 2025 10:25:24 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4560a30a793so3202195e9.3 for ; Fri, 01 Aug 2025 07:25:23 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-458953e9b1csm102063335e9.22.2025.08.01.07.25.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=skaRuHczCVKfOwEwu0xPYWoe46Si7UXt2McCcCPTErQ=; b=bQFgdzAaQgxTa27eY1c3p5ekSoZiQNRLD5niHzYrsfpbkzVUkGQMMSFqD1zIqLRNlToJZs CxCSHjk1X6vpJecq7Gm80WXy+pOmiQyRyqP+7/rzDwRBW+1SattjBcWU2CObDcXipVFJ/2 OJgcuZbKbf0XjrT8m7UFQF9VUL6pyy4= X-MC-Unique: tu4jVcxYPf6HC6GjGpujYw-1 X-Mimecast-MFC-AGG-ID: tu4jVcxYPf6HC6GjGpujYw_1754058323 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058322; x=1754663122; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=skaRuHczCVKfOwEwu0xPYWoe46Si7UXt2McCcCPTErQ=; b=hZzci7Vm2d8r/Z+Xz1X4PFp2ekCHJIbaMQ9RcjFqQTdKsGzVuzIA5+2hxL53V6w8om phreh3Vrk1eqpass6u7maGiCeP3uX1goZAq+I/7hDFrjohgsd1dijLzXPbgFs94a9q5U 3oudDzIBgv1D02SxmlHT2DowResP3ShgZjagaDVnTnDPWYshyCGE4m4yYZkyaqXY5HDX O5l9tUP3gc09I/7zBmXhhUdYKvIfsE7ocEM2kM/HaMOd/F2O4yizGRJ/inxBPuQXdHHF pcp+zPBkzcDJcpRApAeGFrptUKpCRCpbW6f1OkAI0iefJ5nHQkwXl2UWETixPp5LBQQf GBXQ== X-Gm-Message-State: AOJu0YzPm9FU40WhlEVAOK0TWNlK9+l4qRZgftn9OaPxXGlZAhWKFrtv Zryy9+cnzeVU93ZcE7/ewstIhjYU9uPksM2PcCgNPWbO9p8zWAg2rrQUpZfmxxByEmfoaQcOEKv NLBMxtFkfh9Uxwh3gQr+/4LxkCBUOHPflgMr50x2DHFHbMsMOdTzLobfMtBRpeZEAgvdeGwVGax NX16VguZ7FVsyrSZYyKN23Pp4K010jEOD0vw== X-Gm-Gg: ASbGnct5LWJm1FFJmwXFiYFy1ZgSGlYJ990vEfD/cgthYCSo6B/FEMihgnVxTJqycEF 7cDq3A1LThmVdFUkiB/qlCKKTjzUH4KRvweK37KjavjcK03+NGDrWLyRrX5Irr2ffUKpNkW1M0/ +/5W+Ah/wG+LDt/f5UL0qBj3hubX5MYZ4FD6LUR3TdPyoKXXkm2ey1JZ7QXbUwJ4t22GDeUAI0k 9ZGJcPMob6dVS+9GUrMulPMH6kU0m5BB132kXNs2oHQhAXMsJ5OajaxAJlRlfAEF9DfdVLJp4A8 U46Qn6TO714QCoZ50rwT8hrAUhpABDHn X-Received: by 2002:a05:600c:1994:b0:445:1984:247d with SMTP id 5b1f17b1804b1-45892b9530amr98227555e9.7.1754058322244; Fri, 01 Aug 2025 07:25:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFIGEyaBIvTZG0korKrC2t8k4QdI9uBOjsgVFbrFH20LswoJgbVsAqIWBcfeMfqwjaEa7o5cg== X-Received: by 2002:a05:600c:1994:b0:445:1984:247d with SMTP id 5b1f17b1804b1-45892b9530amr98227225e9.7.1754058321647; Fri, 01 Aug 2025 07:25:21 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:19 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 08/17] hw/i386/amd_iommu: Move IOAPIC memory region initialization to the end Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059058477124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sairaj Kodilkar Setting up IOAPIC memory region requires mr_sys and mr_ir. Currently these two memory regions are setup after the initializing the IOAPIC memory region, which cause `amdvi_host_dma_iommu()` to use unitialized mr_sys and mr_ir. Move the IOAPIC memory region initialization to the end in order to use the mr_sys and mr_ir regions after they are fully initialized. Fixes: 577c470f4326 ("x86_iommu/amd: Prepare for interrupt remap support") Signed-off-by: Sairaj Kodilkar Reviewed-by: Vasant Hegde Message-Id: <20250801060507.3382-4-sarunkod@amd.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 037e78056d..7308611bf1 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -1698,9 +1698,6 @@ static void amdvi_sysbus_realize(DeviceState *dev, Er= ror **errp) s->iotlb =3D g_hash_table_new_full(amdvi_uint64_hash, amdvi_uint64_equal, g_free, g_free); =20 - /* Pseudo address space under root PCI bus. */ - x86ms->ioapic_as =3D amdvi_host_dma_iommu(bus, s, AMDVI_IOAPIC_SB_DEVI= D); - /* set up MMIO */ memory_region_init_io(&s->mr_mmio, OBJECT(s), &mmio_mem_ops, s, "amdvi-mmio", AMDVI_MMIO_SIZE); @@ -1723,6 +1720,9 @@ static void amdvi_sysbus_realize(DeviceState *dev, Er= ror **errp) memory_region_add_subregion_overlap(&s->mr_sys, AMDVI_INT_ADDR_FIRST, &s->mr_ir, 1); =20 + /* Pseudo address space under root PCI bus. */ + x86ms->ioapic_as =3D amdvi_host_dma_iommu(bus, s, AMDVI_IOAPIC_SB_DEVI= D); + if (kvm_enabled() && x86ms->apic_id_limit > 255 && !s->xtsup) { error_report("AMD IOMMU with x2APIC configuration requires xtsup= =3Don"); exit(EXIT_FAILURE); --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059071; cv=none; d=zohomail.com; s=zohoarc; b=FDc7SBzdxy8ukd2op5aHd7iDoIZnGKs6xuuk8gmuuO9xODNy/D3EKrTxTgw/w0pXQNUn2I9iJob51U8fC+i2vMaC0DE5qpL/v5UEmOnuiaXGSlBXt7qIwJdUkkyCLvpxMkp/E+5XryQpkrLgHlwL5ugWQ5bkEB3Jf01EhCWn038= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059071; h=Content-Type:Cc:Cc: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; bh=AigbT03t6Dx2Zi4WTEKRTIlUrva/CR4VU0he0l7c2Hw=; b=m/aB/qXiwZdGulUBQjDXzkXaycGIXifjghrtPpcPDftGI0BJN5vLMbWGflPOTZ1mzadIrRaCV32uFL0GSm8qNNrHndAM7TkMidBaGm6aVS/sPVrBeETAVKDuC1EyQ83jkGmKC8TIG30QuH5LqLF9CQ2F0c7NYVFYO4XUIMTZhGY= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059071750522.7497489084988; Fri, 1 Aug 2025 07:37:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqpP-0001zS-GE; Fri, 01 Aug 2025 10:33:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhP-0005RZ-Fx for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhM-0002j3-HR for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:31 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-672-pMLr5UUhNdK5jMRewsX2rQ-1; Fri, 01 Aug 2025 10:25:25 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b78c983014so127258f8f.0 for ; Fri, 01 Aug 2025 07:25:25 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c3ad803sm6017813f8f.6.2025.08.01.07.25.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=AigbT03t6Dx2Zi4WTEKRTIlUrva/CR4VU0he0l7c2Hw=; b=ANpNuXGEraHzHJsL/mzk0EYT/7QA0Kvm5OcAY63QmXAnSaKo9T8kkmtoby7ShjLYSoHitg TLqz6MKIp22BAIucFsBmOMmBC3qKv1JeyEJgMc7HLRX0FKxhwBNqIrIsFD1+v+83zFaIwA 8GmbbIkPPUTwejfd6xN33N5h1BgfRi8= X-MC-Unique: pMLr5UUhNdK5jMRewsX2rQ-1 X-Mimecast-MFC-AGG-ID: pMLr5UUhNdK5jMRewsX2rQ_1754058325 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058324; x=1754663124; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=AigbT03t6Dx2Zi4WTEKRTIlUrva/CR4VU0he0l7c2Hw=; b=aTuCx2em8+a7OBeCqpatDA+ADbo2xlipwyWCjpD30D/3DSmm0rpADixhFILA9LgfjF JAYFrfa1VGC9Y38iACpszNAH6o/Rqy8Jr6+sDwCBtS2/wmNdCnRtAAzrZLCTJL9wwlQu xya2W7fV945iOZzmH4O2h+ECSDFebmtwjz721j166KdH4XUyTX5/VYxMHh29bWlxeXuK NksgB6mUMzVH8ITbzcwhKOk9pp5hjQuGgv1e1+qppdb72C0KUwK1jUPgrj+h9iYxC6qT NqB6hEqVPKLkHEghzwPDNqlJH6F+FL3hnl75bldkLSmr8dVKnHk2H6ZoRk87bCVCSwGM 9fJw== X-Gm-Message-State: AOJu0YyBSrISqAM2onqXugcjXgtq3dLFz6en9RSHDifcdWFOitbzrjy4 /vW1gCQcityezujLOfPnSMF0nlqFbTuK4JPZoYQGCkt1pJEFrjDWHy3XBiNv9zHkvzkMHbKi2sv RCppH/9JYivg926Dv9aKYsd0FfeRb92lHIvNTHL0ulQYXh3xtdUKuVROTQ0CMuOOlhnuvcXbt+O CvMTeWOYe1mMvp2KVPeYMvUAAtwN3Gm6Nbig== X-Gm-Gg: ASbGncv8s9H9sC8dGm/xTLy0w/961NAb+mduPljAAjy/2FEu+qRxc3OzFOGeBLI7NZf skAv2+FJh/D3GUWGFQpThAeZNcYc5W3l8LhRK2012SBo3gVSR6wRuhWDmrbiOvnzJRXya9Ku3Ap M23VYg2tgC5/DLO9tH7uoIn7+lVhL4J+F7NfVa5+5XnU5y0Tp4u7NrP8FbpU8IEl249C5COy2Bn pc2HsckVuEJ5v3p6uB7rQPlNNMCGfE6mfqaOBQDntUfy+zRmefJKoH5HK522LamYCRKYo1nCZYW E9RghA46bLs7l0wQzbqOQdz8Y7+nX4ZU X-Received: by 2002:a05:6000:26ca:b0:3b7:7c18:c72d with SMTP id ffacd0b85a97d-3b794fc1a99mr9201036f8f.4.1754058324296; Fri, 01 Aug 2025 07:25:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHffW4HPsaBKkwpjr+ZDkjzYe2KdD7t2nb4I6qbz0fn1/eJQ3uKpuOIvJ0eTdJ9Nczgdw799A== X-Received: by 2002:a05:6000:26ca:b0:3b7:7c18:c72d with SMTP id ffacd0b85a97d-3b794fc1a99mr9201007f8f.4.1754058323862; Fri, 01 Aug 2025 07:25:23 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:21 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Ethan MILON , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 09/17] hw/i386/amd_iommu: Fix amdvi_write*() Message-ID: <47d3b32d6fb1c6ec8afb78d12d2420dbbb4c3499.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059073091116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sairaj Kodilkar amdvi_write*() function do not preserve the older values of W1C bits in the MMIO register. This results in all W1C bits set to 0, when guest tries to reset a single bit by writing 1 to it. Fix this by preserving W1C bits in the old value of the MMIO register. Fixes: d29a09ca68428 ("hw/i386: Introduce AMD IOMMU") Suggested-by: Ethan MILON Signed-off-by: Sairaj Kodilkar Message-Id: <20250801060507.3382-5-sarunkod@amd.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 7308611bf1..c9c32cf7b0 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -123,8 +123,13 @@ static void amdvi_writew(AMDVIState *s, hwaddr addr, u= int16_t val) uint16_t romask =3D lduw_le_p(&s->romask[addr]); uint16_t w1cmask =3D lduw_le_p(&s->w1cmask[addr]); uint16_t oldval =3D lduw_le_p(&s->mmior[addr]); + + uint16_t oldval_preserved =3D oldval & (romask | w1cmask); + uint16_t newval_write =3D val & ~romask; + uint16_t newval_w1c_set =3D val & w1cmask; + stw_le_p(&s->mmior[addr], - ((oldval & romask) | (val & ~romask)) & ~(val & w1cmask)); + (oldval_preserved | newval_write) & ~newval_w1c_set); } =20 static void amdvi_writel(AMDVIState *s, hwaddr addr, uint32_t val) @@ -132,8 +137,13 @@ static void amdvi_writel(AMDVIState *s, hwaddr addr, u= int32_t val) uint32_t romask =3D ldl_le_p(&s->romask[addr]); uint32_t w1cmask =3D ldl_le_p(&s->w1cmask[addr]); uint32_t oldval =3D ldl_le_p(&s->mmior[addr]); + + uint32_t oldval_preserved =3D oldval & (romask | w1cmask); + uint32_t newval_write =3D val & ~romask; + uint32_t newval_w1c_set =3D val & w1cmask; + stl_le_p(&s->mmior[addr], - ((oldval & romask) | (val & ~romask)) & ~(val & w1cmask)); + (oldval_preserved | newval_write) & ~newval_w1c_set); } =20 static void amdvi_writeq(AMDVIState *s, hwaddr addr, uint64_t val) @@ -141,8 +151,13 @@ static void amdvi_writeq(AMDVIState *s, hwaddr addr, u= int64_t val) uint64_t romask =3D ldq_le_p(&s->romask[addr]); uint64_t w1cmask =3D ldq_le_p(&s->w1cmask[addr]); uint64_t oldval =3D ldq_le_p(&s->mmior[addr]); + + uint64_t oldval_preserved =3D oldval & (romask | w1cmask); + uint64_t newval_write =3D val & ~romask; + uint64_t newval_w1c_set =3D val & w1cmask; + stq_le_p(&s->mmior[addr], - ((oldval & romask) | (val & ~romask)) & ~(val & w1cmask)); + (oldval_preserved | newval_write) & ~newval_w1c_set); } =20 /* OR a 64-bit register with a 64-bit value */ --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058863; cv=none; d=zohomail.com; s=zohoarc; b=hn5kgrI89sq2LgVUqr9DA+GgZAQfjtRi2qgciBAl4u5hVBpZn+IRNluOHAZVvKbdNuF3gctiHtSAg6RHJrD/+E1s798HRGuZOfTS4CW0X1vknZ7ex9YOKkVyk5GMl9vZcFXzOJ7gpIUnD1Uj2pZnsH6CHCsj6JPLrSj1Si0pfV4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058863; h=Content-Type:Cc:Cc: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; bh=Vse0o5M8ShmOPdFHjK0g7J6ivikmqeKjL1uql6xTckA=; b=iUgoQYecqVr5DWh2fMsJNUx1Mezc9Z6ibZMO+RqEd+QztN5e5bR2XWtzy+QYSm/IyibmdbrdcS6ode9NR6xlJW3/QqPVIDP4dlXA/B3GT9nPRpvcjNmLymCtCHKlqLnfRjA6ZlFhEicHQ8DFs1HWXjB8knahNMbKBMEMti+T+Zg= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058863972826.8710561393291; Fri, 1 Aug 2025 07:34:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqpY-0002fm-JD; Fri, 01 Aug 2025 10:33:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhQ-0005Um-RZ for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhO-0002kt-7a for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:32 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-556-WiVmFxOvO0GzlibPAMmrgQ-1; Fri, 01 Aug 2025 10:25:28 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b79ad7b8a5so1475590f8f.3 for ; Fri, 01 Aug 2025 07:25:27 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c467994sm6003722f8f.50.2025.08.01.07.25.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Vse0o5M8ShmOPdFHjK0g7J6ivikmqeKjL1uql6xTckA=; b=Df8a6FN0+6qYE3Ee6XPDjIfbGrWDWMiyfF6dKVt1pmVB1tQXPeSEc62EnouEhk8t4GFDBQ a9/PbHr+wGyqH23pO05AzEt1jUSMalGLxDFds7qL/dIuCHMYEEVgph3+1Tlh5Lm7MVZ7kz /TRqxPUtOZHxhFzZSHq8FjXXzto3EMI= X-MC-Unique: WiVmFxOvO0GzlibPAMmrgQ-1 X-Mimecast-MFC-AGG-ID: WiVmFxOvO0GzlibPAMmrgQ_1754058327 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058327; x=1754663127; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vse0o5M8ShmOPdFHjK0g7J6ivikmqeKjL1uql6xTckA=; b=YXephtW+WtrB0XZyRNigOP6TNI3IBUiVgCdcn/adPj6GcyIahiFlp//YdujeeTQpC1 rf59mTEGgtersZSN3E+kTgrmH+0oB9f5Hp0CiEjDevrBEDOuoGV+Zwgq4YsgKChZlh/s nMglwx4sh2+Lv2fi0CKpSeZOaT11ctIxovAtTNVH3zqh4HQ6RE9Bb+3eHAjoGXu5nKYA 5nqMHv1HXoQWb6npAq9h5ZnYwM0pEXbDx26RY41qSThDo3o3z+1ZpI4SLxmogUt20Q0p oJloWf1UBYjWQeW4GDxaa9CrNlFGUlmOraPdE//fqC1a/xsCrVANFu6KvC+Ees2VvYfD 1BmQ== X-Gm-Message-State: AOJu0YxumlmCY6dJhtMR8na4VPEAkDHg+ZQj/MqC5tEi14/66mNlo3Sx svyzfSqR4ky+8UA6zFzZqzZsXpQl8xo6HyQEQWkkLzcQd9r3+gnG3WC3TO+vB07Vexm//Xmt+U1 YHeisNGoP5Vvgf7YMvOyXzjKA/IZubXOZtB7l9NUhGk/4HyV3IMZPkMvfIyjyjKdC4i3seJA7vM fPFcw7XpKL5+Gb2R5bTSUlS8zZ842waTjGiw== X-Gm-Gg: ASbGnctGjNpVitjsq97FRiDhDs9jPraHNGhHX88Ypw+bXBZQd9oxxQW+aUtIjw6vvCI C65Q5RzVnovgJEgiSEeaFHXI6jLLr3bEok/J5t5T+5hV7j1hN/YLeTxN11gWkp9zVjSAQ1xEnI9 MtN0gYsajlE27c0+9zx5HaAbGT/Rg09DL61vVUZSITRmRXPk5f/Jtr2mUSrUYsxagiT959xmTR9 ihBDfHJLGCj8rfJbB0sYIP5uZaf1OLy3LzRC9U/Wg1gbSuUY8h5OvJaMDE0tiELrsd5gIGhnBKp 0JFyA4/AJ/LxfOKtOhGvfa/B0g7cvNcf X-Received: by 2002:a05:6000:4014:b0:3b7:95ae:2b10 with SMTP id ffacd0b85a97d-3b8d3448293mr2280766f8f.23.1754058326584; Fri, 01 Aug 2025 07:25:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE+T6+HlyFxrAUqsjsKOEhSJpRCl30Ujxs9mziIdTPh0nHTmK7tgZhq8subY3rLFVfuuJYNHw== X-Received: by 2002:a05:6000:4014:b0:3b7:95ae:2b10 with SMTP id ffacd0b85a97d-3b8d3448293mr2280738f8f.23.1754058326089; Fri, 01 Aug 2025 07:25:26 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:24 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Vasant Hegde , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 10/17] hw/i386/amd_iommu: Support MMIO writes to the status register Message-ID: <10690920b0efb3ed8b166443bae8077104bb129d.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058866699124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sairaj Kodilkar Support the writes to the status register so that guest can reset the EventOverflow, EventLogInt, ComWaitIntr, etc bits after servicing the respective interrupt. Signed-off-by: Sairaj Kodilkar Reviewed-by: Vasant Hegde Message-Id: <20250801060507.3382-6-sarunkod@amd.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index c9c32cf7b0..6925085d29 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -862,6 +862,9 @@ static void amdvi_mmio_write(void *opaque, hwaddr addr,= uint64_t val, amdvi_mmio_reg_write(s, size, val, addr); amdvi_handle_pprtail_write(s); break; + case AMDVI_MMIO_STATUS: + amdvi_mmio_reg_write(s, size, val, addr); + break; } } =20 --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059199; cv=none; d=zohomail.com; s=zohoarc; b=WUfBDF92MTaIV7WCf/2wbYnkr/zBHAUiH9ELw/VIPUTyTyx3Xsb7ukwP3GwPPNeHQ44SPLGCQHfikJW6hd2xF6OgMVVg/eFMUm/IR/aSUYu9wBKRJWbkIF0oiG0k7zCZ59++HjPSGxCWrl/NlAq5J5RwOdCdsJx1zBMWe0TMY4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059199; h=Content-Type:Cc:Cc: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; bh=XA9J84IWz65/jFGEF4PHg1aGXOZdSUvhbvxiqHCyUZw=; b=GhZ1wccDhyVY/k7xyvV+1nyXQjsTVsgxkF+OAS43EDB/87mIZ0fZ/+v5fc4/BoEVahC3x9/csw1FmbU/EpBy7vQCODAVw3xsmGooIQrKSvxavrNTjKwOI4nlX2gikhGfmr7zT+pM1DEcE+n1s7kWVXFEFRzOYv3g121QSegmg/I= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059199570179.88960404367572; Fri, 1 Aug 2025 07:39:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnc-0007aP-ON; Fri, 01 Aug 2025 10:31:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhS-0005VV-Bl for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhQ-0002n4-HE for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:34 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-179--xl1FdWtPei5eWUysydeBg-1; Fri, 01 Aug 2025 10:25:30 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4560f28b2b1so6780045e9.2 for ; Fri, 01 Aug 2025 07:25:30 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4589536bc34sm106134815e9.2.2025.08.01.07.25.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=XA9J84IWz65/jFGEF4PHg1aGXOZdSUvhbvxiqHCyUZw=; b=M0AA6d/FovoeRlY0ZUbxqevcyZmC21aSfqBTa74H7jR7Po3UKCHsmbgEeFFqV+F2qmcxuA 1lQLqxgr0HD5Cwf3vrIp5dyU4LdIdRBATXt9U0C3Tmr6OG6dEwXGdAz8tR3afmby0Qv00W IRQ3V5SOm1nKBuKbWvrgmyhTU1yxJQY= X-MC-Unique: -xl1FdWtPei5eWUysydeBg-1 X-Mimecast-MFC-AGG-ID: -xl1FdWtPei5eWUysydeBg_1754058329 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058329; x=1754663129; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XA9J84IWz65/jFGEF4PHg1aGXOZdSUvhbvxiqHCyUZw=; b=WVms4Q+C/KptirinTi2hWAg05OhLheagb82SD0ySg0cToRn4vCJR28uMVxUBLkT+7A SHXZKRmWtyGLuiVIOhNRXCQayRxCwmRGoeVdl5UaupmkFv+aSXlBxF/+LkD0LVUYBhrv 1IF+9MVrJEb4vEk/4NeJmSvVIsIk5eyWjoLgYM8eBf42kmIRa+aVjBzb3Eljh1Q0yxcp SBJGTf3rOSMQFgis1txlxfoKcJP2YykSPqvR5dprGUAWKtRWeE+rDNnxP/mfb4nWtpfC jCuBDxE4AR/tmq4GokeUxz49h+1RD+4ev+b8X9aZWCCJVAP0+ByyA7QDIpr+o5PP+I6a 430g== X-Gm-Message-State: AOJu0YwIYYr3zIKjdn1fuollE/W4tNaX1HicQZ7x/OLPmQrQIEpUK4e4 1o30Zv9vhRlXku31c9PU5Tjf2PYokq8Tvmw11L4QL/xZW8KtrSc+SDoqSriK4myJbYs7L+Nxcmg liGBv/i6rt3WZkBXbHdsmQ2jIGBHjGBuweUzxFhYoRkpFopup+QZJd4I/w8dWZSdj9EBXsaIr9D +Pj2B7j0/vhHxGJowOwM7sGh0KWPKKuzgitQ== X-Gm-Gg: ASbGncsB9BxSkuHte8eWlGAJaUGDQd3KEgOufOKK9lsDMZLFHCeb8lmXZQLJvjqT3Iw 5FzK+txJWzDfbFQUmx0e9Hbdw1XzJSwW9FKTdwQJhTO26cU/I1j1YiXKFwFKg/qHsyCqqgKhpjM tZoT3c2nvo+JLWnAJfmfSCpajnyevQhKJh53bZWSgg6jWGzTevFz4LoVPEM+swxeAYS5QZEyg03 c9ydiw+9oAo/k8GFmLK8iYaJsnuxBwasGO1hClIk0FcxbqPgoZqVGMtXNyXfp8vh1rHj6wvoGjt iWzsSUV3FsZxFEP5xPd9fFxg+VirCXzA X-Received: by 2002:a05:600c:c059:20b0:44b:eb56:1d48 with SMTP id 5b1f17b1804b1-458930a2ea5mr72424285e9.4.1754058328945; Fri, 01 Aug 2025 07:25:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGgFsLBip16NgLIYRqdPDAuPi03g4j+/ctXE9W03ABHfPZZlwshXYt704MMRORcjGcfvL40Fg== X-Received: by 2002:a05:600c:c059:20b0:44b:eb56:1d48 with SMTP id 5b1f17b1804b1-458930a2ea5mr72424015e9.4.1754058328447; Fri, 01 Aug 2025 07:25:28 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:26 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Sairaj Kodilkar , Vasant Hegde , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 11/17] hw/i386/amd_iommu: Fix event log generation Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059202370116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sairaj Kodilkar Current event logging code is broken, because of following issues 1. The code uses '|' instead of '&' to test the bit field, which causes vIOMMU to generate overflow interrupt for every log entry. 2. Code does not update the eventlog tail MMIO register after adding an entry to the buffer, because of which guest cannot process new entries (as head =3D=3D tail means buffer is empty). 3. Compares eventlog tail (which is byte offset in the buffer) to eventlog length (which is number of maximum entries in the buffer). This causes vIOMMU to generate only fix number of event logs, after which it keeps on generating overflow interrupts, without actually resetting the log buffer. 4. Updates ComWaitInt instead of EventLogInt bitfield in Status register. Guest checks this field to see if there are new event log entries in the buffer. 5. Does not reset event log head and tail pointers when guest writes to eventlog base register. Fix above issues, so that guest can process event log entries. Fixes: d29a09ca68428 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Sairaj Kodilkar Reviewed-by: Vasant Hegde Message-Id: <20250801060507.3382-7-sarunkod@amd.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 1 + hw/i386/amd_iommu.c | 44 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 67078c6f1e..2476296c49 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -111,6 +111,7 @@ #define AMDVI_MMIO_STATUS_CMDBUF_RUN (1 << 4) #define AMDVI_MMIO_STATUS_EVT_RUN (1 << 3) #define AMDVI_MMIO_STATUS_COMP_INT (1 << 2) +#define AMDVI_MMIO_STATUS_EVENT_INT (1 << 1) #define AMDVI_MMIO_STATUS_EVT_OVF (1 << 0) =20 #define AMDVI_CMDBUF_ID_BYTE 0x07 diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 6925085d29..26be69bec8 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -160,10 +160,10 @@ static void amdvi_writeq(AMDVIState *s, hwaddr addr, = uint64_t val) (oldval_preserved | newval_write) & ~newval_w1c_set); } =20 -/* OR a 64-bit register with a 64-bit value */ +/* AND a 64-bit register with a 64-bit value */ static bool amdvi_test_mask(AMDVIState *s, hwaddr addr, uint64_t val) { - return amdvi_readq(s, addr) | val; + return amdvi_readq(s, addr) & val; } =20 /* OR a 64-bit register with a 64-bit value storing result in the register= */ @@ -192,19 +192,31 @@ static void amdvi_generate_msi_interrupt(AMDVIState *= s) } } =20 +static uint32_t get_next_eventlog_entry(AMDVIState *s) +{ + uint32_t evtlog_size =3D s->evtlog_len * AMDVI_EVENT_LEN; + return (s->evtlog_tail + AMDVI_EVENT_LEN) % evtlog_size; +} + static void amdvi_log_event(AMDVIState *s, uint64_t *evt) { + uint32_t evtlog_tail_next; + /* event logging not enabled */ if (!s->evtlog_enabled || amdvi_test_mask(s, AMDVI_MMIO_STATUS, AMDVI_MMIO_STATUS_EVT_OVF)) { return; } =20 + evtlog_tail_next =3D get_next_eventlog_entry(s); + /* event log buffer full */ - if (s->evtlog_tail >=3D s->evtlog_len) { - amdvi_assign_orq(s, AMDVI_MMIO_STATUS, AMDVI_MMIO_STATUS_EVT_OVF); - /* generate interrupt */ - amdvi_generate_msi_interrupt(s); + if (evtlog_tail_next =3D=3D s->evtlog_head) { + /* generate overflow interrupt */ + if (s->evtlog_intr) { + amdvi_assign_orq(s, AMDVI_MMIO_STATUS, AMDVI_MMIO_STATUS_EVT_O= VF); + amdvi_generate_msi_interrupt(s); + } return; } =20 @@ -213,9 +225,13 @@ static void amdvi_log_event(AMDVIState *s, uint64_t *e= vt) trace_amdvi_evntlog_fail(s->evtlog, s->evtlog_tail); } =20 - s->evtlog_tail +=3D AMDVI_EVENT_LEN; - amdvi_assign_orq(s, AMDVI_MMIO_STATUS, AMDVI_MMIO_STATUS_COMP_INT); - amdvi_generate_msi_interrupt(s); + s->evtlog_tail =3D evtlog_tail_next; + amdvi_writeq_raw(s, AMDVI_MMIO_EVENT_TAIL, s->evtlog_tail); + + if (s->evtlog_intr) { + amdvi_assign_orq(s, AMDVI_MMIO_STATUS, AMDVI_MMIO_STATUS_EVENT_INT= ); + amdvi_generate_msi_interrupt(s); + } } =20 static void amdvi_setevent_bits(uint64_t *buffer, uint64_t value, int star= t, @@ -731,9 +747,19 @@ static inline void amdvi_handle_excllim_write(AMDVISta= te *s) static inline void amdvi_handle_evtbase_write(AMDVIState *s) { uint64_t val =3D amdvi_readq(s, AMDVI_MMIO_EVENT_BASE); + + if (amdvi_readq(s, AMDVI_MMIO_STATUS) & AMDVI_MMIO_STATUS_EVENT_INT) + /* Do not reset if eventlog interrupt bit is set*/ + return; + s->evtlog =3D val & AMDVI_MMIO_EVTLOG_BASE_MASK; s->evtlog_len =3D 1UL << (amdvi_readq(s, AMDVI_MMIO_EVTLOG_SIZE_BYTE) & AMDVI_MMIO_EVTLOG_SIZE_MASK); + + /* clear tail and head pointer to 0 when event base is updated */ + s->evtlog_tail =3D s->evtlog_head =3D 0; + amdvi_writeq_raw(s, AMDVI_MMIO_EVENT_HEAD, s->evtlog_head); + amdvi_writeq_raw(s, AMDVI_MMIO_EVENT_TAIL, s->evtlog_tail); } =20 static inline void amdvi_handle_evttail_write(AMDVIState *s) --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059088; cv=none; d=zohomail.com; s=zohoarc; b=UUzdBLKFb/PwR+xkhlgJgz7so29XW3XDF3SCm7xOjeyHM3jDUITm1mgQPMIRV53uwY5ZPYcG/j4Pemw1s/yngawHV4yYVMJ9L5PmS9a9qYQnQUwxv1GIDLXAmsxh8o6CgW4GGzFIrAmIs6ZS1zaU9WcCFZCU+CsszDNRCh22hC8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059088; h=Content-Type:Cc:Cc: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; bh=gUOuxsFcKExXqP/V7LZEk0bWxeYWJUworvF5GqipL/Q=; b=FIEAMnfqQu+kLZ/t046aDMb6P4V/JfR/7jjvPACQKtgNvsvzsBTA3rHdrWrZvJjEsQ0AiIG2hh/TF5BUN8ZwBr2JBwX0KgDJYeqHTxdafEgbUxszIp3g5LXBFmsJ6ZGY0j793fcgmTwCuPTta3o27dyGz43AYas509VCY8NbgO8= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059088341246.5548228714497; Fri, 1 Aug 2025 07:38:08 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnd-0007d3-V3; Fri, 01 Aug 2025 10:31:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhV-0005aU-S3 for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhU-0002oD-4w for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:37 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-652-BAeRgtRnPy-0MSNiHL0knQ-1; Fri, 01 Aug 2025 10:25:32 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-455e918d690so15301905e9.1 for ; Fri, 01 Aug 2025 07:25:32 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c4a6f6fsm6306298f8f.74.2025.08.01.07.25.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058335; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=gUOuxsFcKExXqP/V7LZEk0bWxeYWJUworvF5GqipL/Q=; b=HfMBku3n/f9bP1zUpeVeiUxuOD0+x35nQuOR14EMvoQqheSQNg9foVtYjQONrUKO4oHySx hWKKnoPUXmyr6IgcKtqjNUrV+6Z+IZHhmHlyro2Xy/68OhtXNIuItu0Ple/FN8sN6zZk4h 3gcwavYVMEmxs+LjGOzbxJDSi/eKwgM= X-MC-Unique: BAeRgtRnPy-0MSNiHL0knQ-1 X-Mimecast-MFC-AGG-ID: BAeRgtRnPy-0MSNiHL0knQ_1754058332 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058331; x=1754663131; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gUOuxsFcKExXqP/V7LZEk0bWxeYWJUworvF5GqipL/Q=; b=fMven84KneBcXsW/PqLaNeEp1mJGsLm4m6rNS0gLv4QWVdWs/LPp9WZpyIgqyDhLiM dPgMQPmss63hvXsKhSxPIZambk0agiHuLEElZC97Mjm1dhmBQLFlKsS5L2Bx6HwrBalL cqmH21G7Xr3l9AI7zRKPAtICuEOIczI9+G8nR4hS6w4cNWY5AM6+bVuOyvTKeXYJGjqs Ys1vtpXd7B/eBK3kPfJ6rXjVyfBMEcSR8cbNi+/c/9nVd65P0Z6iAkbIL9yq7Q0lX7Xn o0o0Kzy4EnGVoVH0CSz1YymTjB4F+zuoLRJ+kM7JAG7wCHQFiZl5+olZcLp66kigM+Ut xANA== X-Gm-Message-State: AOJu0YwogsU6+3fy0y3GEytrSJ/vslr0v/zKQPBMM60Wny4irk1vHXB5 FqMSG8tN+wBT57iv3WEC8oN+vlbVxldlmvuhegrXxu3L3JzOZzbAc9CTRE9Lmj+5EDLUQFMnZb0 LYD8GG3qpq6OJgpdlmydmOyYFx0QoQfy1U3ma08MPypuPpLZnrGVYc/vMFsCqaYz/r5gKiVnTji EeKBGJbogCqtXK+Kkm+VLVx8ZpryWd/3Aimw== X-Gm-Gg: ASbGnctx6qOHN76XatC24qGhRN3cPOxffyPfAUb1WfUemiquXyv5+4Wj6HqMZEQaovC 1FKLl0zOCdRzGt9jEEKcZn7ILIVoXMYDStkPvVtfBH3nhYHiU8zvWdPsW5TmHrLm9/c4o2fW+Ul Af0QZxKlS49dby7t1FspbLzSipm3f8XcXgggaIQp+280D60PPwwPILgupVqEngCOXFLLIw5IKKN gkVEV5VoxwP3K5i+VgSx8MW6boCm8mX8eJRSHgJ84JiOkwVJt86YhaEyQN57YE3zmU4CsvHqegy RBWQVgF29t8zgesqIoO4epyroqDuY5Y8 X-Received: by 2002:a05:600c:3d8d:b0:456:f22:ca49 with SMTP id 5b1f17b1804b1-458a17e6e41mr60183125e9.0.1754058330914; Fri, 01 Aug 2025 07:25:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHrBGKjIoyHawiA1OZmeeyJE46mA4tkAg1c216rHjJOdUx5wWs8ZJXB8JcgPwvMPPtp9CesYQ== X-Received: by 2002:a05:600c:3d8d:b0:456:f22:ca49 with SMTP id 5b1f17b1804b1-458a17e6e41mr60182845e9.0.1754058330488; Fri, 01 Aug 2025 07:25:30 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:28 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Mauro Carvalho Chehab , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 12/17] tests/acpi: virt: add an empty HEST file Message-ID: <8d5613d2eefa6ca94b3c642583488e20915c48f7.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059090608124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mauro Carvalho Chehab Such file will be used to track HEST table changes. For now, disallow HEST table check until we update it to the current data. Signed-off-by: Mauro Carvalho Chehab Acked-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + tests/data/acpi/aarch64/virt/HEST | 0 2 files changed, 1 insertion(+) create mode 100644 tests/data/acpi/aarch64/virt/HEST diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..39901c58d6 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/HEST", diff --git a/tests/data/acpi/aarch64/virt/HEST b/tests/data/acpi/aarch64/vi= rt/HEST new file mode 100644 index 0000000000..e69de29bb2 --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059068; cv=none; d=zohomail.com; s=zohoarc; b=bmf2ldDm1nteo1AUcU8WeUP9U5TXT89qXelt6AAUMt2/0uMqPJrrsSjakgQyKWLN07jtw9rzEm2T0u+FP7TjwgfccsKwCnr7C9ZYBDBY081yvBEraFpqqIS6AjuTBie6qkkfWfhgwAcXkugTIbeRaEAxU3S+v56+TqWDHZ2tlgs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059068; h=Content-Type:Cc:Cc: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; bh=IL9+A2pIj1svEtoSCipjyGY+zemWuaFe+SiKFMe1fHI=; b=HVQcRo+5wJmmsfU+wTellufRRjONluuZEokV620gphml9y9xe44DTCPBFlnva6Zmiu2YSpb+iZi3uqGDtYkEvMoQ2PWWbieF2aslRazBs0J3fL4P1suSV3zm7pVUCiDM+BvRqkJbN67WoMITuvax/8DSSwU2GSIRFSfHFywAS+A= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059068850705.9568410914819; Fri, 1 Aug 2025 07:37:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqpw-0003b4-Or; Fri, 01 Aug 2025 10:34:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhX-0005ah-3J for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhV-0002pB-DJ for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:38 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-44-mO4hzbMLPdKttM8DZIMqog-1; Fri, 01 Aug 2025 10:25:34 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-458a533c069so6680795e9.0 for ; Fri, 01 Aug 2025 07:25:34 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c453aeasm6285769f8f.40.2025.08.01.07.25.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=IL9+A2pIj1svEtoSCipjyGY+zemWuaFe+SiKFMe1fHI=; b=QZ1MrVDcELObq4s+/kTgZoQBtTy1P6mVMcBjuLyz9xuhN4GryatX8z3nAukDtKcFCtymwE nmeTF3yHGzQqB7QCpa6BhOpoUXd0AwkgLzSCBqb7nhJgyjQ9mqwNN2zrxK4CfK+YqNoRe/ Nc0NOcmp6DsgOh1c+mE+Bie1smAOBUc= X-MC-Unique: mO4hzbMLPdKttM8DZIMqog-1 X-Mimecast-MFC-AGG-ID: mO4hzbMLPdKttM8DZIMqog_1754058333 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058333; x=1754663133; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=IL9+A2pIj1svEtoSCipjyGY+zemWuaFe+SiKFMe1fHI=; b=wjL5aI2go3BxMo7AgPlS2Nlp0k98OYqXoomUuRKRSRSZshrFvRLhwgtptF1llJ1L26 2c7zzG1BP+XoxkZhmCIf6yqfWSpERXBvkcPQFR4XeHovWqMvG1dPQ9KrPgWdv0bYZzik 2XizUsHjhlcHB6GzFT5kXcnwenf0rXLsGU7thl37NHjHKc6F7cUuISBSr2ebs62KinCj w/0IadhBMUpKDoFuTIXMCb8Jk8NKQcZ/P/TuAiOQsXGciCs6zpOknTxXjz/Rqe3leG8X iIDqe+E2/qTIwVlSfnQw48gMwKQZ/wGHT77it6nTGVC9JAuEbetHk+7ZaJ9XQ9BoFSEz A4Pw== X-Gm-Message-State: AOJu0YzsSt5AR8LjlQaDT7jntL7S4QTSUDQCqKtoG2/Hxh2RoURse8nX LOWWRpfmHEbea9IjIwg/bsGQ8hq0M6VGRn4AKXAplZJnt8pcK+8sGIpuZMWT5GTtNO3mTmSSaXq cfId2t2QaMR/2A63zDMvvpt9tbbNX7+bP33lJjMswJC8it7j3wFrqEvzIedfoZuXXHKGcCQnP9H 8gYxqsgxUWhgAWsh3qKuJ2kqqVTojr+DhGPg== X-Gm-Gg: ASbGncsqmZ0BkI6fcxUC3y+Mvq4QnX9wcRM8kveO8Mfeqnoy6qITmxSQ1fYpR9DWW3t ufVU4xSlVK+unxTKUNdzysmJQivDOQ7L/0nJzv3WbkHXAuEhJjZTmQbAZxkBHFZpqQB+KtAL+rn N7YwAJPV8T+dmoVpMBMMeRHupMMbOnMTS84vWQgUkC3XZNr44RtZYfvzVdiRmAbyPQVgYurmXX/ up01p6as615mzynM6wPFjGSinRuXGT45B8GHVXVvOAxa3SlmhFUYkTgbXi7T7+IMq0xiwEB+Tpl BqQ/fer4szyHM6pfyG07aDYBtOZxCUjo X-Received: by 2002:a05:600c:4ecc:b0:456:e39:ec1a with SMTP id 5b1f17b1804b1-45892ba272cmr117865945e9.14.1754058332910; Fri, 01 Aug 2025 07:25:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF65kXBkLk75B+1vmQcp7lIPRgHiznzOTqOqwyfRCF5KbOK+NMbKxZ5d+iDfWzJ1uk0ojI4pg== X-Received: by 2002:a05:600c:4ecc:b0:456:e39:ec1a with SMTP id 5b1f17b1804b1-45892ba272cmr117865495e9.14.1754058332450; Fri, 01 Aug 2025 07:25:32 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:30 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Mauro Carvalho Chehab , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 13/17] tests/qtest/bios-tables-test: extend to also check HEST table Message-ID: <5088651138b94542807414eb841363b16d6aa535.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059071874124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mauro Carvalho Chehab Currently, aarch64 can generate a HEST table when loaded with -machine ras=3Don. Add support for it. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <9ce77140500ef68cc939d63952c25579f711ea52.1749741085.git.mcheha= b+huawei@kernel.org> --- tests/qtest/bios-tables-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 6aec68decc..e7e6926c81 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -2208,7 +2208,7 @@ static void test_acpi_aarch64_virt_tcg(void) =20 data.smbios_cpu_max_speed =3D 2900; data.smbios_cpu_curr_speed =3D 2700; - test_acpi_one("-cpu cortex-a57 " + test_acpi_one("-cpu cortex-a57 -machine ras=3Don " "-smbios type=3D4,max-speed=3D2900,current-speed=3D2700"= , &data); free_test_data(&data); } --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059390; cv=none; d=zohomail.com; s=zohoarc; b=Y0zc8xeY1TJyjQhMqqxb+PVEJs8IQ5UcIDSnN85eUxnpY5ZMWDwnOrz1ExoRWMXpz5q4Ex43bhtmNTaJGehYppMFroNieeD7+TlG9hFEnSIh8Rd3QfnVfMhqDwfNhwvjsLJvrjjqlBAH3Pq8gciRsgMKKptYYtrEVeqL01E3vCs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059390; h=Content-Type:Cc:Cc: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; bh=Rt7GnWAbSGWYSqFzaw9x7Xx2rUyY6tFH8mQrAe3XeS0=; b=UML4pe4+nT3rU0RuBlDxAe8SuCsGcnAz2t0rD1dA57OugJs5WB8wAiHKZOMfUvxMl936vTKujUTootZ//sQhvVa72DguiuIkK0I5SjpGvN7DNvcubrsJr332A8yc+6cFQb6CyO4drHJmglwf1jUGZb32iEM2MrbXj4H/jciNYSo= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059390571206.7823549830149; Fri, 1 Aug 2025 07:43:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqq1-0004Mw-Qs; Fri, 01 Aug 2025 10:34:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhY-0005ds-Sr for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhX-0002q4-DJ for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:40 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-515-icYRlWGiMTGYOjKPTGDYZw-1; Fri, 01 Aug 2025 10:25:36 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45626532e27so11965445e9.1 for ; Fri, 01 Aug 2025 07:25:36 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-458953cfcadsm112316235e9.18.2025.08.01.07.25.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Rt7GnWAbSGWYSqFzaw9x7Xx2rUyY6tFH8mQrAe3XeS0=; b=gRYhPi8/BguUXFV6KuGEZEO3A8r6RmyN7DBQ+3adyHvhNDXVblsegjRIvLNA3CZRQEZpCg WgalzjddXbkezYuF4GISqwbb5btmGm1ExlkKTUqemD5XSJmk0AiMIf930GtU4r4XQvJDJ5 LVYbSn5B3MY+2YFWJkurwn6yC2HnWCU= X-MC-Unique: icYRlWGiMTGYOjKPTGDYZw-1 X-Mimecast-MFC-AGG-ID: icYRlWGiMTGYOjKPTGDYZw_1754058336 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058335; x=1754663135; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Rt7GnWAbSGWYSqFzaw9x7Xx2rUyY6tFH8mQrAe3XeS0=; b=LcYg9iszza8/XAuuL2wXLyTIyNC7Kti06fkS3FQ/ogcv44r8Vnn70a/INcNzhEGKZD OGTBrzgv9EgNNEGgdRfavXhGpSvUUWGvfWCmoUtK0W9mZFZVxuEuxXGtsp7ujq5snyeT zzpnaucrvTYLtmIcee80/bMd+a1c+FscKrCd5h3zkZSCmrtCin9NA7W06SYcZcl/fntP QJxHgZxUlFIxZg2XJL1Jt0k1X7Fmd1ZyZTcMIA0uWJKUgdyjt+klkowPHjjm/G3uvLkl 9xhT6FUxYUto/5ZKxd3F+7trlCYobQgLIiNT1HV+ecUKABlb3XONsPUpf8mRVu5u0swu hEYw== X-Gm-Message-State: AOJu0YxINd1HeWIvcnJ0wqpLFfy5vKSZPc4gM04RGquI8AY+cqQy4Rz/ F1D6HsqwE027BFtZcx45Z0xUO4wY6cFC8n5djzB/r1sQQN1HwDDw9VODGtFEuLXP92exRU9OAAV uPlbW9YrWsZnQz57VkB/Eko9HxcIkAlPnpdSbbUCVi9nfgDrHi7fAkUNlzhibFcyJCI1d/SvTG3 WNopgZoYqp6XOmV5gP+BAACspKN2uvCYTEJw== X-Gm-Gg: ASbGnctxPK83ipldKMrKrLQridJJoiz7oTh02Vn8Vi//ce2FG+UfxEhtDMoTKwuRcGm 7/H+fJz5pS6zLnEILpds0TnyYQGdlW/n9F6lweyUJGdX5PaDd/FMvt8B5zdLWVrG01LsQJKfurt unXep4tRAuEJoMTBpVP9WCUzjfUldUreYNt2TackBGTHQlswf9U1I+Zrx6lXOqZisHD30qUHi5W lJPRjxbTR2R5e3b6CsJq5Fb5bi5A0My40bofn+J4Z5JN+63DnHepCZRktKKZ2mP6N9eH4dxhoJp X9cTgkNy4DED8gI8RGx7qzVFMT/NVyHz X-Received: by 2002:a05:600c:3d8a:b0:458:6733:fb59 with SMTP id 5b1f17b1804b1-45892bc5895mr101354295e9.19.1754058335326; Fri, 01 Aug 2025 07:25:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHSi8ANASNa7VNsN4h6CNiy6Tfq9yTG3B7TxBZIkH0u1iAiQ/9J3DXhfiwcBg0L9INCwvboaQ== X-Received: by 2002:a05:600c:3d8a:b0:458:6733:fb59 with SMTP id 5b1f17b1804b1-45892bc5895mr101353785e9.19.1754058334505; Fri, 01 Aug 2025 07:25:34 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:32 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Mauro Carvalho Chehab , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 14/17] tests/acpi: virt: update HEST file with its current data Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059393327124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mauro Carvalho Chehab Now that HEST table is checked for aarch64, add the current firmware file. Signed-off-by: Mauro Carvalho Chehab Acked-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - tests/data/acpi/aarch64/virt/HEST | Bin 0 -> 132 bytes 2 files changed, 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 39901c58d6..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/HEST", diff --git a/tests/data/acpi/aarch64/virt/HEST b/tests/data/acpi/aarch64/vi= rt/HEST index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4c5d8c5b5da5b3241f93cd0839e= 94272bf6b1486 100644 GIT binary patch literal 132 zcmeZp4Gw8xU|?W;66afGL literal 0 HcmV?d00001 --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059200; cv=none; d=zohomail.com; s=zohoarc; b=ZMxPKllDfEwo6k8NezOTjJFhXHCFBOqPxlw4UNDuGtY35WsmoXLDfSAcPpnYKxtQVIYwYhs6Ajf/6JvDlZGEkhv4eklRlY4HNqe6hUfnjtlSk1XA5hT9WHW081S2Lg6rhXm4qvMKBBxnGxNzeVOd349NO5kdR2UfHAsqmq2oFPE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059200; h=Content-Type:Cc:Cc: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; bh=vgmFtDgTAmGls1KrsF1UJKp0mhRKj20ErXb4GvRJyH4=; b=Ca8qlvLQ6uUgCSj8WksS+wh3YLuKntcTP/6JVl3WcnVvXD7nOyQmidI0U5pK2nfDoznZQ0mttKPR3xRJQBvIz0Yrldf+3gGbKuloLpybS9hfD5nLQfiJ0vHMxq0kse2UV2d2zuUqNp+wWkJInboXHm5vxg+3CBhk+W2eH9fYBrk= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059200210676.4822471751132; Fri, 1 Aug 2025 07:40:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqng-0007hX-0e; Fri, 01 Aug 2025 10:32:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhf-0005lv-2b for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:49 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhZ-0002rj-Ne for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:43 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-502-l1aZ-_vcM1mlv7HeJcMdhg-1; Fri, 01 Aug 2025 10:25:39 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4588fb6854cso9271815e9.0 for ; Fri, 01 Aug 2025 07:25:39 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-458af77e7d5sm12689775e9.0.2025.08.01.07.25.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=vgmFtDgTAmGls1KrsF1UJKp0mhRKj20ErXb4GvRJyH4=; b=NXIY2Bt8cPCMwie1SBAaV+W342vam5lek6DyDLhfJqYeujcqQraEqRjja/v1ZP5QIDn8+m sno5LNWC4i/0chwecAoWSUAXb3aK5xzaUIgjfeGmx0a7t1pHiBJ5kdq+GvDDb2GxzOlBtq 7GgIA+5BAdQ5dCDXoAKGn4T8aNkI/CA= X-MC-Unique: l1aZ-_vcM1mlv7HeJcMdhg-1 X-Mimecast-MFC-AGG-ID: l1aZ-_vcM1mlv7HeJcMdhg_1754058338 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058338; x=1754663138; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vgmFtDgTAmGls1KrsF1UJKp0mhRKj20ErXb4GvRJyH4=; b=HsfJiLZpEuNuPf5FW4CaXAx4cnodMzFoPT6KbKLIxq9vgl879GCVUG3me6/BXy1V1g 5wM3D2q/kql4mPyfLrckYLBmI77zRgPWpF6HxAWZ5e20r4qRyKByv/CCycRD1VnBNr0X decEQFh/7qXFanTB9/QFLBd2K4Jl5unXbaLP7+orZnbYuKMEpAo4HpanpYFCHtqOquaR IHcvsF7aay93SYcmAHG2q6QUKXlbFsqVRlF3aViCDhPi4TLdrqCdvoujSfNMRHApTQt2 visG3ebUtbRSAmTdMecC47XjiGFGt1YZWLM3BWC8AOz/7RoI28kcHP28zDNslwJf+4ZC 8g8A== X-Gm-Message-State: AOJu0YxEHUrndJNAewkPtEEyJ+5yPmleodORVh+2vGptLy38IOwcMZxW JP3pwsSiBXxBHJZPKr+MlPngbmicI3YQmFfdZJMLyR4u8WZJXcgtVcOLeyBx9S5pAD290zmoFP6 lP3TIA1mDl0mKJH4+/kQCbh9iqDn+PTp/3glYTdWWHzR81IHTnPkIR/qIlbsN+Mel9LgUh7Id1V 56r6FarhdcTTtCc61qNvHEgirLGBFfDE1c9w== X-Gm-Gg: ASbGncs0qVh7ZOTwQbr+LtwsnKyBxo63gt7prh8NXg2vt7GH9oPuq/8WiAluE0OOQl+ 4+xP/LSDLbB8VYlhV12iwqMNo14MUO3Vet2NTA4x5uuNnNfEk2C0S3coINT4jnLhwm10YvMTJLJ etDtY711WQ9/kEsmSuaLasVJYNVieFLTQRRKrHCITuVvARcL6t4romGXXO6/XJSwjbY7EoDCujm AsBo6q+pSlImyW+dGkMtkMWy89+YOb/nVnIoxz1yQEK6YTKXgp7XuqlI497oRdWWXB+xO1nXuIQ Ekh7HbPFwSYuwjdeUnL4JHMEujzcZysn X-Received: by 2002:a05:600c:1da8:b0:456:1006:5415 with SMTP id 5b1f17b1804b1-45892b92eb2mr101941035e9.6.1754058337608; Fri, 01 Aug 2025 07:25:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEl0NeQa4oobAXZ1gqHmJj27ixyO2S+aobjlaO9fdfdKRxhWHZg95Kc9OXyJpN1+EvwMq47qQ== X-Received: by 2002:a05:600c:1da8:b0:456:1006:5415 with SMTP id 5b1f17b1804b1-45892b92eb2mr101940645e9.6.1754058337116; Fri, 01 Aug 2025 07:25:37 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:34 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , David Woodhouse , Jason Wang , Yi Liu , =?utf-8?Q?Cl=C3=A9ment?= Mathieu--Drif , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 15/17] intel_iommu: Allow both Status Write and Interrupt Flag in QI wait Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059201797124100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: David Woodhouse FreeBSD does both, and this appears to be perfectly valid. The VT-d spec even talks about the ordering (the status write should be done first, unsurprisingly). We certainly shouldn't assert() and abort QEMU if the guest asks for both. Fixes: ed7b8fbcfb88 ("intel-iommu: add supports for queued invalidation int= erface") Closes: https://gitlab.com/qemu-project/qemu/-/issues/3028 Signed-off-by: David Woodhouse Message-Id: <0122cbabc0adcc3cf878f5fd7834d8f258c7a2f2.camel@infradead.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index fe9a5f2872..83c5e44413 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2828,6 +2828,7 @@ static bool vtd_process_wait_desc(IntelIOMMUState *s,= VTDInvDesc *inv_desc) { uint64_t mask[4] =3D {VTD_INV_DESC_WAIT_RSVD_LO, VTD_INV_DESC_WAIT_RSV= D_HI, VTD_INV_DESC_ALL_ONE, VTD_INV_DESC_ALL_ONE}; + bool ret =3D true; =20 if (!vtd_inv_desc_reserved_check(s, inv_desc, mask, false, __func__, "wait")) { @@ -2839,8 +2840,6 @@ static bool vtd_process_wait_desc(IntelIOMMUState *s,= VTDInvDesc *inv_desc) uint32_t status_data =3D (uint32_t)(inv_desc->lo >> VTD_INV_DESC_WAIT_DATA_SHIFT); =20 - assert(!(inv_desc->lo & VTD_INV_DESC_WAIT_IF)); - /* FIXME: need to be masked with HAW? */ dma_addr_t status_addr =3D inv_desc->hi; trace_vtd_inv_desc_wait_sw(status_addr, status_data); @@ -2849,18 +2848,22 @@ static bool vtd_process_wait_desc(IntelIOMMUState *= s, VTDInvDesc *inv_desc) &status_data, sizeof(status_data), MEMTXATTRS_UNSPECIFIED)) { trace_vtd_inv_desc_wait_write_fail(inv_desc->hi, inv_desc->lo); - return false; + ret =3D false; } - } else if (inv_desc->lo & VTD_INV_DESC_WAIT_IF) { + } + + if (inv_desc->lo & VTD_INV_DESC_WAIT_IF) { /* Interrupt flag */ vtd_generate_completion_event(s); - } else { + } + + if (!(inv_desc->lo & (VTD_INV_DESC_WAIT_IF | VTD_INV_DESC_WAIT_SW))) { error_report_once("%s: invalid wait desc: hi=3D%"PRIx64", lo=3D%"P= RIx64 " (unknown type)", __func__, inv_desc->hi, inv_desc->lo); return false; } - return true; + return ret; } =20 static bool vtd_process_context_cache_desc(IntelIOMMUState *s, --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754059253; cv=none; d=zohomail.com; s=zohoarc; b=ntXSDicDktZdWcIux6hVpGkXaTWC65hBzQ5Xd7NS1PAYVWaSlips975S+Cth9aJ+GwpMu/WMV8QBbuq3TLd5Jt0ldc8sewS/UuOPIx9Dw2W0nZytxpDlNTfbbOlLDLdcAOP8CaAh2fQCJUv3f2ltNBZIVVw+p/UWkFo+BYTj3hg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754059253; h=Content-Type:Content-Transfer-Encoding:Cc:Cc: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; bh=MLPixtjK29bcXJWoF2tbZlGmeP/UpkFHfHcFk7aYjP8=; b=IoKOxtARefL89rhBJZF6edsIizClyLW5MBUBsKA1JygOhHvo5/2ZsTrMUt+AzlklkEcXpztFGzquugGM83IwGY/UOdxMe9nscS7igX9uryXC+NeR6razjyyrZvXywa4OEG39bp+WIovYbHzN4T1dfhj2tfK1oJW97q1vc13CmzI= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754059253310497.89994128737794; Fri, 1 Aug 2025 07:40:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqng-0007nQ-Qn; Fri, 01 Aug 2025 10:32:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhh-0005nI-Iq for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhc-0002sA-Gl for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:46 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-660-5QFrZUfRNp6h24pl4WyP0A-1; Fri, 01 Aug 2025 10:25:41 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4560a30a793so3202925e9.3 for ; Fri, 01 Aug 2025 07:25:41 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4589edfc930sm67169475e9.8.2025.08.01.07.25.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MLPixtjK29bcXJWoF2tbZlGmeP/UpkFHfHcFk7aYjP8=; b=KeVHrHA0XKZePqv0kGHlWoPvNELW1HgpOlCRzk0V8eoOA4Ftf9jn4pVEAxlXJh0PJZx2Qn ff9MmrsSGe9YtpLztxweErLti0t9/x5Xod6AAm8UWB/rqcwRum++g6YjcKKQGe4p314lys UwrNRtRbzaKaoypcQrr1jkto9ZkFLWM= X-MC-Unique: 5QFrZUfRNp6h24pl4WyP0A-1 X-Mimecast-MFC-AGG-ID: 5QFrZUfRNp6h24pl4WyP0A_1754058340 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058340; x=1754663140; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MLPixtjK29bcXJWoF2tbZlGmeP/UpkFHfHcFk7aYjP8=; b=UxCr1MObOd1wkbY3IKMGBm1efD1+YAl/Pq1WZ/4lhBmb6usL2Bi4CQigeKhVfYEQu8 mguHQowezjCtcOSCdU7L7OEEjCSN3HIaQ2YVdJLBKoyPnmzmtSpyWApwuAN2w+GFI5a4 7by8sgiVcBV7foZSZ9plk+RhwQmPDf/xVurYCRYEC00TGmTE53jxXLYGMgKGHYzIDnBy UdnpOixmUJXxSXp8Eodkx7MSAho97XEOocUTH2kcFFNjnjToqL25nXMgmPspbKfJgKHr wdpaZMdBewU6VFmTq+y37zJ/dCFQh6ZEIeGeKTIMp3SGrxho3DVL2p0PVCXT7g/fxs7J b1Sw== X-Gm-Message-State: AOJu0YzHFVooJgXB2XtWk6Klaob2VcZqIJpD0ci+RbAT9sLfOCiTzxPA gasRsbPgFDWRdCG/35wAmjWT/VC2Y7OXxa/OcoQXdK/VBuaFX/I1Bfpicwkb4svnspv2A0Osx9a PVEycKyXrCHq4ebkbKGBWUS6/rv8/OwgYwpQSmk4hPAMRPoqLIRipC/QSsHxaykzjvahfuE5FFW 4vj2AhXPyHjOShICpDi/nagUpijFm9OeLceQ== X-Gm-Gg: ASbGncucoZmo0BThAXPBB82SnD6bBi5vCi64OzovjtLwcpra0J+oJD5gOINz4jQAiXq BPoPVPclw7lKqlBZtWKQnFD85JONJ5fA9dW6OCNKmA6vF/sTkTvRNQkWVv6fOuVcbB1QZFK2S3M GDicqvEh7BVJ9wKXXp8TGj/xTtw5GH19b87Iu4StWfa6Mkpfx7mlI7rZ/gRZ4G5RfMm6Wxv1N/6 67eEF9PTgb3YZwChuqICgVWlXkEaS6pk4Ml2WHoVQIMBIEAJ67cDD78VVcYU7nMwfGJmLHVVze7 7w9SPyaiES58jg7E4FHd0bCg6TxeD/1J X-Received: by 2002:a05:600c:c0d1:20b0:456:161c:3d77 with SMTP id 5b1f17b1804b1-4589301f9famr80232915e9.16.1754058339984; Fri, 01 Aug 2025 07:25:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHC8/Dfw+kQSVwFEgr1jSxtfOH0jvtrc6GBpwprP+AFUE9ifcVddq2sWhwfuZTL3IiUsJ+tyQ== X-Received: by 2002:a05:600c:c0d1:20b0:456:161c:3d77 with SMTP id 5b1f17b1804b1-4589301f9famr80232705e9.16.1754058339485; Fri, 01 Aug 2025 07:25:39 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:37 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stefano Garzarella , Manos Pitsidianakis , Thomas Huth , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Richard Henderson , =?utf-8?Q?C=C3=A9dric?= Le Goater Subject: [PULL 16/17] MAINTAINERS: add net/vhost* files under `vhost` Message-ID: <4164adc476d85d46ef4901c05a9807b24473b00d.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754059254839116600 From: Stefano Garzarella net/vhost* files should be interesting for vhost maintainers/reviewers. Suggested-by: Peter Maydell Signed-off-by: Stefano Garzarella Message-Id: <20250714102626.34431-1-sgarzare@redhat.com> Reviewed-by: Manos Pitsidianakis Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 069d77f2f8..28cea34271 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2322,6 +2322,7 @@ F: include/*/vhost* F: subprojects/libvhost-user/ F: block/export/vhost-user* F: util/vhost-user-server.c +F: net/vhost* =20 vhost-shadow-virtqueue R: Eugenio P=C3=A9rez --=20 MST From nobody Sat Nov 15 06:32:22 2025 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1754058806; cv=none; d=zohomail.com; s=zohoarc; b=K3uPaqBe+EjGk271Y49jfS5jGpmCHj+S4aExhLrOsMVc45rjcapQAispeYYmiyn44+5+/n3WbjjEdTL0fotwTjaUzgxkobPIerbTCj3MCyA6MqbKVL8tXCzf56m8vaHqW6sKpWSkQu8dH5SiCstqR+eq7TkqwAMns+k18wcqKbo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1754058806; h=Content-Type:Cc:Cc: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; bh=dGbO7vd636Hu1LhHD46O82pGLm04aUgQk2cK4yysdEk=; b=dSSfS5QdZZ89Mc5dGqf0RI5/LcF0mMWz4fi4p5jpL531W/vGKG57D0SriUVj3uiEleeSyI8cqDaCgUa+N2MhRiOzJaQDrDg9X0ju5U7e1YviiniqdBpmXo8VA0aHNf5zsn8809AIbMjlrP+tZrK1kZgoNuN+kWnm4rKYy5+m0KI= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1754058806384444.8430188564132; Fri, 1 Aug 2025 07:33:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uhqnS-0006iI-NN; Fri, 01 Aug 2025 10:31:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhi-0005nd-LX for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:54 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uhqhe-0002sS-JN for qemu-devel@nongnu.org; Fri, 01 Aug 2025 10:25:48 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-622-x7koJ-GgOe2MQ0tETarNJA-1; Fri, 01 Aug 2025 10:25:44 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3b7825a2ca5so1586772f8f.1 for ; Fri, 01 Aug 2025 07:25:43 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:1515:7300:62e6:253a:2a96:5e3]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b79c3abec8sm6360138f8f.8.2025.08.01.07.25.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Aug 2025 07:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1754058345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=dGbO7vd636Hu1LhHD46O82pGLm04aUgQk2cK4yysdEk=; b=XBw4PrWAKx+osTq3jm+kLiH3p1C1BZrrEGCbvvxVYjh+l3JP+S8V9ri0NYrVtcSfaNgGE7 Q2Y3LHMDQtEfG6+SaPV11bUvuTrlkMncXzNrYNnEyETg34NpILE+6nXmlh/2Yb7yvh9/5I /DeeuSSclebxiXeFCofI5Ta25lSgB/U= X-MC-Unique: x7koJ-GgOe2MQ0tETarNJA-1 X-Mimecast-MFC-AGG-ID: x7koJ-GgOe2MQ0tETarNJA_1754058343 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754058342; x=1754663142; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dGbO7vd636Hu1LhHD46O82pGLm04aUgQk2cK4yysdEk=; b=nBmv3MXjg3QNSSLQwQeCPFi7iZM3Zzilxt5bnvvh+1bSpX0UKaShI8OF128lPIYTO6 Hx0qeK1tu/yJ7BV82ldaktA7jWnjd5WwZKo2diU9XuFNIHVGeQe3tQWya49k0sbpbaUR TJi8fh8N4k8r4rlUBxk4SGqz5ZJmGITgRW/fVSSfwnTVR24Jk00i/PM7bzCax4tRew8O g4gc+5/Xzx7dqvEP3S+9kvxYtlL3X4a8rVY5UxWMaOQHoXF2HcsdK4qJNhp9q29pK8mG R9WQBFHPkuB2TDbszf+TyydqMIDOZdJlMr3LVgh8xJzxX5MkcCMrCUGcHyzXWgboMX3z EIKQ== X-Gm-Message-State: AOJu0Yw4y60aP3yHT9y2XkUDYt95QafGYO4sOMti2qndJQQLOYffKt16 EQmEJFuqPV5oVl2MV31vI1eaMrTUePUb1rir3T3yBp1pZG2O7KZ0sS8H1d8IB20aZ6/MhoraxUl 3kcfmkBHcO/jywbaHNZJCdBVh1PriOvQcZEBPkC6QFICquObCnBVui07ZJFwRXbwtdiUPr01E1D 8FGr1rJMGzOrS0PGgAOasYahHA9HMXfWlfNg== X-Gm-Gg: ASbGnctGUXBNgHnqEbqhplPKUazUYYm7UlNudL/OpsY/fbyrfvfGwaPGikmBZgVipap HMwncvmJSwTphzpkvoWJjyMzFUbtgQwU6Kdl0vqKGRdA827tzmwlEJepi0wrS8KKzqCvl/cw9yk R7RPJEeaatPRcEPj1TF3hcebH0K8oWVdOVrkpuYi28McQpuHqmp6jp5yKugqVz7EpuANYhSIFJ6 TH9cvq8Kque9PJMKyDAtCHA+4Fq+GZAQsqA6LX83aETRP1SqzJThHos6nyu4lcCOlwQ2OdupAli kNCztP6c6NsrymFYA+Ni8Uonnt0D9fs5 X-Received: by 2002:a05:6000:430b:b0:3b4:9ade:4e8a with SMTP id ffacd0b85a97d-3b79d4e0b4bmr5800464f8f.21.1754058342389; Fri, 01 Aug 2025 07:25:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGl0is/rcqzTgv6qbWMWQ2gfImg3xA4GSo3aSk4vVpb8eS24zyZ7S2sUmRqUIE5D10RcbTsuQ== X-Received: by 2002:a05:6000:430b:b0:3b4:9ade:4e8a with SMTP id ffacd0b85a97d-3b79d4e0b4bmr5800435f8f.21.1754058341889; Fri, 01 Aug 2025 07:25:41 -0700 (PDT) Date: Fri, 1 Aug 2025 10:25:39 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stefano Garzarella , Manos Pitsidianakis , Jason Wang Subject: [PULL 17/17] net/vdpa: fix potential fd leak in net_init_vhost_vdpa() Message-ID: <4caf74916d09019e61c91f8cb1166510836d35e8.1754058276.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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: 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 @redhat.com) X-ZM-MESSAGEID: 1754058808095116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stefano Garzarella Coverity reported a file descriptor leak (CID 1490785) that happens if `vhost_vdpa_get_max_queue_pairs()` returns 0, since in that case net_host_vdpa_init(), which should take ownership of the fd, is never called. vhost_vdpa_get_max_queue_pairs() returns 1 if VIRTIO_NET_F_MQ is not negotiated, or a negative error if the ioctl() fails, or the maximum number of queue pairs exposed by the device in the config space in the `max_virtqueue_pairs` field. In the VIRTIO spec we have: The device MUST set max_virtqueue_pairs to between 1 and 0x8000 inclusive, if it offers VIRTIO_NET_F_MQ. So, if `vhost_vdpa_get_max_queue_pairs()` returns 0, it's really an error since the device is violating the VIRTIO spec. Treat also `queue_pairs =3D=3D 0` as an error, and jump to the `err` label, to return a negative value to the caller in any case. Coverity: CID 1490785 Suggested-by: Peter Maydell Signed-off-by: Stefano Garzarella Message-Id: <20250714101156.30024-1-sgarzare@redhat.com> Suggested-by: Peter Maydell Signed-off-by: Stefano Garzarella Reviewed-by: Manos Pitsidianakis Acked-by: Jason Wang --- net/vhost-vdpa.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 6a30a44d2b..74d26a9497 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -1840,9 +1840,8 @@ int net_init_vhost_vdpa(const Netdev *netdev, const c= har *name, =20 queue_pairs =3D vhost_vdpa_get_max_queue_pairs(vdpa_device_fd, feature= s, &has_cvq, errp); - if (queue_pairs < 0) { - qemu_close(vdpa_device_fd); - return queue_pairs; + if (queue_pairs <=3D 0) { + goto err; } =20 r =3D vhost_vdpa_get_iova_range(vdpa_device_fd, &iova_range); --=20 MST