From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872514; cv=none; d=zohomail.com; s=zohoarc; b=kZ08EacsyEK4GBKCSlhL5SLZLz6843xFrni+C1XFLCaRbSq+kGEsjOVpyw5KDRArua33ttkuo+KFOyAxMnyKiWIcm/rx0dykrHS9p4ZjkUl6GSOlMk5ss9XS1/3sZLxEPi54zdrMsy2a9BAHd30dgyFjoEIM4+nZiliaU1Mfjpw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872514; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wCtbma6yni6NMPug+FRpjh+vc4wJezGbeyKqAGWmcyU=; b=lXqVk3J+oekcLXPC0e0sThLEk+zsY3O20Zbjb41BL6cYp67GoytmfHbx/lfybVTqnenopkUyunW9jTnvruCBN6WjQBF65qCgZCjfwkgOC4ULZO5hHplSeSCLW7TEBT8kpC6ue2A1OpSu6b3wi+c08HgpaEtmGElAwpNTR9t21hQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788872514462335.98953938895625; Tue, 8 Sep 2026 06:01:54 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411983.1642456 (Exim 4.92) (envelope-from ) id 1x3vS7-0005fZ-MB; Tue, 08 Sep 2026 13:01:31 +0000 Received: by outflank-mailman (output) from mailman id 1411983.1642456; Tue, 08 Sep 2026 13:01:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vS7-0005fS-Ie; Tue, 08 Sep 2026 13:01:31 +0000 Received: by outflank-mailman (input) for mailman id 1411983; Tue, 08 Sep 2026 13:01:30 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vS6-0005fK-JV for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:01:30 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vS6-00Btv0-0D for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:01:30 +0200 Received: from [10.42.69.10] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa00724-8faa-0a2a0a5109dd-0a2a450ae664-26 for ; Tue, 08 Sep 2026 15:01:29 +0200 Received: from [209.85.221.43] (helo=mail-wr1-f43.google.com) by tlsNG-4011c0.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa00729-f2d2-0a2a450a0019-d155dd2be8da-3 for ; Tue, 08 Sep 2026 15:01:29 +0200 Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-482e4998d28so3686925f8f.2 for ; Tue, 08 Sep 2026 06:01:29 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883a9b49sm30584345f8f.17.2026.09.08.06.01.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:01:28 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872489; x=1789477289; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=wCtbma6yni6NMPug+FRpjh+vc4wJezGbeyKqAGWmcyU=; b=NqGiAJ3K27SAv1I8ywaqWfqMw0PM5zWq7t3hCRS5WEH1MYW8mZo1Tm3OzNgMuQJUu6 Ww4A7d6v2NuoPKRHXZxRmEjS2t+rpIbmDSewsiM5ka2eTkQun08bewwymYNMuvPFr2PX SPJh0L1r2+wKxCo5qLzHTAB1LLuHOPOi7Vrj5egOcPe451KuUmM5dTv7QkxemZ24Inys tq3UNLQwegQSqXXUCaCrYhMZP4s9IQPPRTETEmXpUxM7FCn9ajuwRZAb/bjEf+cTJ+cD tlk+OEg/9VUj0sLPUNZnffrUEbEPwf/t4DLqtenBosidl4Qltctvp0ggqWftrd7Fk43/ 1K4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872489; x=1789477289; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=wCtbma6yni6NMPug+FRpjh+vc4wJezGbeyKqAGWmcyU=; b=n4MUSUDq/1wRtVav25HBsSS/xCtSJ/SbDNNBNEnG2WbtgaqlFcQAum9njUERyERwvw WD90uJxBaryklJzwnRVSALi8ONUAXZ8zHdtL8f1SLhFrsFPwlu28R8lQvtHlmQQNrgXx 826pr9nqQys8eaWRPA+FfpfMNXg+Lc/Gp/HWtelW/++keg9+1nWGzjJu47/OytGLg06J Qg5Nrh+3SsFemP8cReWVv4KjvifmzhWl91hyBAbTM883GRWHyLXiidbg8+MosLU2R9xW RyCXVmjLBptaVH+xZa0AQyOkYCywV58VdN8c72jjNm3KdH+nuu4by7n/KE12Gk+qlKBG wIsw== X-Gm-Message-State: AFuF++luu+mKhsnF8M2vtNekcPwUTMRqgI5CxKUYj2fqwxOTdilxziEj /VMTsZQAG70us1byARUJL+by6bhYmu0gMvMQJ8natKxpmwMf9mR0uG28exxmJYgFT/1J8h/axY0 e7uNRyg== X-Gm-Gg: AYBFou2C6vQt5ebHlL4R2iU42rercu4OxnryG8PElwW1Z2UoNPL8is4Yjl+bazFyhWE 1pXbCHLqjmhtXGLAB5qOlX5RMu+rKGkvvBrdfLAxH7kAc4M8MS8GpuORiuasshP+9AsG0l6tFFq xCt0TQeOh2Jbm+f0+rixm+Bcpocl27yXjTuoLkS2CXOaHNhQYtvS2zEMb83gvQ2DDhYDBifNiDQ Pu/xnIZuFgPOHSTi/XgFZpIOqsnkcuYnDsmK+e/zBgIoq1yLxT/FijmSsySPY3lOAvLTJ7wKLnf JeACdaNW/HzWkRJTY0h11OqNmp/hGbqpdMLU37bgLEV2jr1qWe2wUa6/TO6JM1ZtkmRxbB7iHBl l0J2IN8VSCarOjtP7EWq92OnsVTGOLbXrdJfoB5T2Ws23UXVlsNOTxPrKBWnzq3uxZ8/FOzjnx/ bsrJ93K7FK91R/Q76u5ACMNBIPa6ICuMnLVoHBHobVMu6P9ETUCBw+NvVHw6y1VjJkqgvD2r0ey nwQP7TBcGAcBKeDCbthH2e9vFjjYKZozLKk5yz9NBf0rSedJnmjmQ== X-Received: by 2002:a05:6000:2381:b0:485:8c16:a353 with SMTP id ffacd0b85a97d-4858c16a639mr25518802f8f.43.1788872489153; Tue, 08 Sep 2026 06:01:29 -0700 (PDT) Message-ID: <7618c144-2f4a-483c-b078-0d9100b9f251@suse.com> Date: Tue, 8 Sep 2026 15:01:27 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 1/6] x86/pass-through: defer event unlock in pt_irq_create_bind() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-4011c0/1788872489-50CCBCFC-FDC2351B/0/0 X-purgate-type: clean X-purgate-size: 3280 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872517217158500 Content-Type: text/plain; charset="utf-8" The radix tree holding struct pirq * as obtained by pirq_get_info() is protected by the domain's event lock. The result ("info") and the derived "pirq_dpci" therefore may not be de-referenced past the dropping of that lock. Moving the unlock down is safe, but perhaps not obviously so: - vector_hashing_dest() does a memory allocation, but core event channel code does so too while holding the lock; the call to vlapic_match_dest() doesn't involve any further locking, - hvm_migrate_pirq() operates on the corresponding IRQ descriptor, where obtaining of its lock is of course fine (those locks always nest inside the event lock), - {hvm,vmx}_pi_update_irte() are very similar to hvm_migrate_pirq() locking-wise, - the locking around guest_mask_msi_irq() is the same as in the earlier two bullet points. As long as the PCI-devs lock is held around both pt_irq_{create,destroy}_bind(), this is only a latent issue. Fixes: 35a1caf8b6b5 ("pass-through: update IRTE according to guest interrup= t config changes") Fixes: 1066331913c9 ("passthrough: don't migrate pirq when it is delivered = through VT-d PI") Fixes: 782cf8ba4678 ("pass-through: adjust pIRQ migration") Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- The last two unlocks could be done a little more efficiently, but then also in a little less straightforward a way: if ( pt_irq_bind->u.msi.gflags & XEN_DOMCTL_VMSI_X86_UNMASKED ) { unsigned long flags; struct irq_desc *desc =3D pirq_spin_lock_irq_desc(info, &flags); write_unlock(&d->event_lock); if ( !desc ) { pt_irq_destroy_bind(d, pt_irq_bind); return -EINVAL; } guest_mask_msi_irq(desc, false); spin_unlock_irqrestore(&desc->lock, flags); } else write_unlock(&d->event_lock); break; Seeing that the IRQ descriptor lock is taken up to three times in a row, I wonder whether we shouldn't consolidate this (by obtaining desc once and then passing it into hvm_migrate_pirq() (or a suitable new sibling thereof) and hvm_pi_update_irte()). --- a/xen/drivers/passthrough/x86/hvm.c +++ b/xen/drivers/passthrough/x86/hvm.c @@ -371,7 +371,6 @@ int pt_irq_create_bind( =20 dest_vcpu_id =3D hvm_girq_dest_2_vcpu_id(d, dest, dest_mode); pirq_dpci->gmsi.dest_vcpu_id =3D dest_vcpu_id; - write_unlock(&d->event_lock); =20 pirq_dpci->gmsi.posted =3D false; vcpu =3D (dest_vcpu_id >=3D 0) ? d->vcpu[dest_vcpu_id] : NULL; @@ -393,6 +392,7 @@ int pt_irq_create_bind( =20 if ( rc ) { + write_unlock(&d->event_lock); pt_irq_destroy_bind(d, pt_irq_bind); return rc; } @@ -405,6 +405,7 @@ int pt_irq_create_bind( =20 if ( !desc ) { + write_unlock(&d->event_lock); pt_irq_destroy_bind(d, pt_irq_bind); return -EINVAL; } @@ -413,6 +414,7 @@ int pt_irq_create_bind( spin_unlock_irqrestore(&desc->lock, flags); } =20 + write_unlock(&d->event_lock); break; } From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872551; cv=none; d=zohomail.com; s=zohoarc; b=Us+DdVqtY3XY33jrC4C8MTKBtPZ/cpgRQd/SSIFkGs9hi2Q3yhqZHTNlTM1xcfJPmMkioqtPOzWRcyS4vBItXPThxPJs92lrPw7Hmwwq5TkI+dvPALpSpONcCwQ8jhAAil85HweaEeCOQxRW0hxWDFgevUvCUb0jGTuFf0hoOqo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872551; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lvz8MuJ79mtzbquJ0FCpYwwGJ4AQQZ5W74E+80dtosw=; b=bOEn7DAwueXh9ECD3tIYOwKGekNzty+CHmGDCNzlmO2Jy2+D686w2vvUgmXRNhjLVRPbQuXO0gbRw4L+NedMRzThJ0huycz54/uDoZ/3i3Qz6MetjjZcgxHyHl/QOlfvnnSLJz1750uPWget6ALfnCxZ4fAllTJfQLg8iOzPwJ0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788872551056537.74386287887; Tue, 8 Sep 2026 06:02:31 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411986.1642463 (Exim 4.92) (envelope-from ) id 1x3vSW-000627-08; Tue, 08 Sep 2026 13:01:56 +0000 Received: by outflank-mailman (output) from mailman id 1411986.1642463; Tue, 08 Sep 2026 13:01:55 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vSV-000620-Tj; Tue, 08 Sep 2026 13:01:55 +0000 Received: by outflank-mailman (input) for mailman id 1411986; Tue, 08 Sep 2026 13:01:54 +0000 Received: from mx.expurgate.net ([195.190.135.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vSU-00061b-Eq for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:01:54 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vST-00DNLB-Rr for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:01:53 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa00737-bab6-0a2a0a5309dd-0a2a450be5a4-12 for ; Tue, 08 Sep 2026 15:01:53 +0200 Received: from [209.85.221.44] (helo=mail-wr1-f44.google.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa00741-b7e8-0a2a450b0019-d155dd2cd582-3 for ; Tue, 08 Sep 2026 15:01:53 +0200 Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-482f2ee53e7so3444471f8f.1 for ; Tue, 08 Sep 2026 06:01:53 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485883acd33sm35297675f8f.18.2026.09.08.06.01.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:01:52 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872513; x=1789477313; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=lvz8MuJ79mtzbquJ0FCpYwwGJ4AQQZ5W74E+80dtosw=; b=XZ40PVwrt54TAzK9r8GF2EStGV0rkTsXvIChD3Ajv9PJLYxb/lornSZxGcES828LE+ 1yUmi6RntQ87WEXoC17bUQTngweYGKMN8gEmmzagSrO1TUoGkVBCIEUMGXQ0nS0v8k8M Ucb7k7UR9OveY4qFc8T0YBu8lKCVD3dvjN67dbSxbJfhp9LbWs0enOKZz97qH727bk/I ZA0bAcSJtC/vNfAbeGdFvGMJV8pv1v4UQx+zzRPWyQhI9zcRyhn3/AmAwVhgCgEpJo7k 7Q/ehlqRKuzklyJqq3bf1PnbmxWvTtNsSmXT4jtWhjAcKO/H2wxG0OsLgY7r0nfPdugy jESA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872513; x=1789477313; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=lvz8MuJ79mtzbquJ0FCpYwwGJ4AQQZ5W74E+80dtosw=; b=TFjRQ4yUjbvibogYgghShOetjsPBIO2e8J4ZH2GMc+2y8ML9gFzGEOUuv7oi43gLiT 5CJChw8vs+H27aBgFC/wfj0mDWf8cSWxjY6BQUjQx26Xur+JXmbJBkqIoprUjbY0hyMV rZ/kFMF39BTKd6MQUVrORVc7k+bTtu1lOq9YvBTrltfUCoWAQFLpbrQzSMhDIimU2pCj 6olawee1wYRjA6qe3rxOSd6Ptv2VF8cQDgwezhmv7eZW8WaOD+2+ZsfTQ24yFouzLqzr WlS9bbdgPwIenwLZp1kw+YNGS4YTm5lxMCUJSVtXs6muxDkE9XrXuVCWKv0PKbwg6d50 a1Wg== X-Gm-Message-State: AFuF++m/fy2ZEjLx7PXFlorLS34Ixnk6YU5Mqt4gkJL5SoNJETONDUzz P0++OuNWynezLfd1Sp6AtFEGVrIQ12mHxiWPaaY4ki5JGz7X6+fvGXIhcF0+snaUcc3Ol4M7k5D JfLTSew== X-Gm-Gg: AYBFou2sTmGfnd9bD7X3Jc8y1ZFHJF7Lwy/XT+XgrFWWzt/V3DOOUQ6wwiBMG0VGeeT IdZ/UbC7H953Ejlkm6MVn5gyBuwNMtFUJye7zOlxBScGQJ51fS97+LVjvQcKuYtfbKEM3v4q9V2 bmzNFlUNM/zvE/t5uyyvQFO5G7uL/gD7ovnZe8MLFSE4BHUc1ENPsUGM+uRp2hKsRMf98/b6AKs +zy6UUm1LHfruM5ycUtUKqOgFBy9FRt+G94kQMp1EU/O8+jOfUBXz5PpR6eimD3yNJChsgk/VRX tWzsLe/tycO6JwHQO0DwlZIgwUnBu8gmK2fz+MgVACGE9Ihgc60qXynvtuvSmDxkpZAxyhAlIQD KcQL01MPdJlJyqcQXXqjrfW3s2LFROxhDPJIBCIoJ1bybq7rr+HV8CAsCIVlqh2Un/rD0W08sFV GtPQrDQl+hIubepbJQhJAcEYwuhAJXWCTqf26wzf+4rFTIkBb800XWZmuCCd8Yb6gFcD7sHapIq OAevWEa2LrWefejnYJAP3zgFrpcuJrQ5gLh7M/zVaUPuvMeNHuH X-Received: by 2002:adf:fd81:0:b0:482:fbb0:a262 with SMTP id ffacd0b85a97d-485872abe78mr23925428f8f.20.1788872513184; Tue, 08 Sep 2026 06:01:53 -0700 (PDT) Message-ID: <92b0a72a-44df-424f-acbe-58d7167f1c4d@suse.com> Date: Tue, 8 Sep 2026 15:01:51 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 2/6] x86/pass-through: no locking around pt_irq_{create,destroy}_bind() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Julian Vetter References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1788872513-196C29EA-04DCD6D1/0/0 X-purgate-type: clean X-purgate-size: 1703 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872553194158500 Content-Type: text/plain; charset="utf-8" The questionable use of pcidevs_lock() there was discussed more than once. It really is pointless: The functions synchronize primarily via the per- domain event lock. They also may already be called with the global PCI devices lock not held: See hvm/vmsi.c:vpci_msi_update(), hvm/vmsi.c:vpci_msi_arch_update(), and hvm/vmsi.c:vpci_msi_disable(). Signed-off-by: Jan Beulich --- a/xen/arch/x86/domctl.c +++ b/xen/arch/x86/domctl.c @@ -636,10 +636,7 @@ long arch_do_domctl( ret =3D -EPERM; else if ( is_iommu_enabled(d) ) { - pcidevs_lock(); ret =3D pt_irq_create_bind(d, bind); - pcidevs_unlock(); - if ( ret < 0 ) printk(XENLOG_G_ERR "pt_irq_create_bind failed (%ld) for %= pd\n", ret, d); @@ -670,10 +667,7 @@ long arch_do_domctl( ret =3D -EPERM; else if ( is_iommu_enabled(d) ) { - pcidevs_lock(); ret =3D pt_irq_destroy_bind(d, bind); - pcidevs_unlock(); - if ( ret < 0 ) printk(XENLOG_G_ERR "pt_irq_destroy_bind failed (%ld) for = %pd\n", ret, d); --- a/xen/arch/x86/hvm/vioapic.c +++ b/xen/arch/x86/hvm/vioapic.c @@ -197,7 +197,6 @@ static int vioapic_hwdom_map_gsi(unsigne return ret; } =20 - pcidevs_lock(); ret =3D pt_irq_create_bind(currd, &pt_irq_bind); if ( ret ) { @@ -207,7 +206,6 @@ static int vioapic_hwdom_map_gsi(unsigne unmap_domain_pirq(currd, pirq); write_unlock(&currd->event_lock); } - pcidevs_unlock(); =20 return ret; } From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872561; cv=none; d=zohomail.com; s=zohoarc; b=TvdXriCMm7nWtWf0YZpwvWYXxmBY7bk2QaCMsgt3JwHvOkDMzKButKDMGj0PYznfc4J8zOzjgppl1dvMvtp4Hy2UzpaN1ox1TqZHYtyGvgheY7tJAjALd+4gr1zrfbNnvZX4e9WWSYNlQl0e4HFlCk+f5yV7Fut6NsAJ/LmN9uw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872561; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=o0d1D4rqSgyoha+rBAysFKG64mCQkEkUN/Iu3QpC/L0=; b=EfO7mFYK3A7fgWOZ8YX5SePCZ4ezVI+Tt/IpJqc/Ee+M+OC0L37ivjLgEinVLzBZgZEmw9eCEH2MCxSPSM0/LRg+GW7RrktEj1bch75RxvJbYxwKmUNuErYqjonuDSnPyMkbc+WawCqIZ3KW+2x52COhCHgvBpY9upOF5YlPQzA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 178887256182627.367459986361837; Tue, 8 Sep 2026 06:02:41 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1411995.1642472 (Exim 4.92) (envelope-from ) id 1x3vSx-0006VR-70; Tue, 08 Sep 2026 13:02:23 +0000 Received: by outflank-mailman (output) from mailman id 1411995.1642472; Tue, 08 Sep 2026 13:02:23 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vSx-0006VK-4L; Tue, 08 Sep 2026 13:02:23 +0000 Received: by outflank-mailman (input) for mailman id 1411995; Tue, 08 Sep 2026 13:02:21 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vSv-0006V6-Ok for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:02:21 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vSv-00BuDp-5C for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:02:21 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa00759-8faa-0a2a0a5109dd-0a2a4508a30e-26 for ; Tue, 08 Sep 2026 15:02:21 +0200 Received: from [74.125.225.140] (helo=mail-wm2-f12.google.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa0075c-f659-0a2a45080019-4a7de18c96d2-3 for ; Tue, 08 Sep 2026 15:02:21 +0200 Received: by mail-wm2-f12.google.com with SMTP id 5b1f17b1804b1-49cd6185db7so6626425e9.1 for ; Tue, 08 Sep 2026 06:02:20 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49ce5952560sm435083775e9.3.2026.09.08.06.02.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:02:20 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872540; x=1789477340; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=o0d1D4rqSgyoha+rBAysFKG64mCQkEkUN/Iu3QpC/L0=; b=cohtIV/Ai114lus60zViohoPaSkSFgfaUoZuTmSpb3/wJYTg9EKvOYyeZ0Hb4xu2Ux v595O1UDzYf0Ak5wKydWxYwr4AtpbQQGM72r527YgKJcR1Vr6LN6DHtKM6mmJrAMUoYK UsmN88dFuFW2WUlbL5GsBW8IFpwGw44JwCefm263d0MoqzGIhAmn16PesALzLjSzQbHv jdxCTFcUQQQvz/scA8QCpxAn6i43K6Nqit/pVcEv4SeUQMMgNaTD56ONh3Lp9ZY/uszl S+XxPNJYaLGmcnk0tDSEsXq9wQUN9YN5YXyo+lOzmNRJ08tHzxBm9z0utYmKSA4LDyKx qWPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872540; x=1789477340; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=o0d1D4rqSgyoha+rBAysFKG64mCQkEkUN/Iu3QpC/L0=; b=qjsobDUd56ztLbo3/pEFwxX9AVf/2CIu4OW2FkShgyO+n68ttxkS6S9CpNQNINrkEH XCt7XXJht2xOWwvGzyCvqejPJ+bMa8JfrX1ffaAs1NAcdIc/UMPbdaMu5OJh5ngK1X9j Sh5aZLyIm0gFnJt4sRmco9/6P/pDWoW8MbQmaF9j6n+jkfYddD/IKQ0FykZszewDU59u aWiME7Nj3TAf5ql7znr6WgMCEZ7hbYQszcsCFTSlgFfVnQK4pSwiVC4HC+2UbmSXnnz8 F8iKd8g+zHbt05eRh+ZgLIH8gbI6SIXsErGvLprWFApYzJvWL1Z/n5D5j1Ug1fMSid8x 3r4g== X-Gm-Message-State: AFuF++m4BXjlUx5YvQXTY3TY6nY6Ts2OtLVXKXjjp4+S3VlU5FG/vquC R8kzR1ojxRJRs97b2vJd31EIY7PqqjGgt2fNxIe8J5mOy1mvDr+w4Oatdh3i10gyaD11yglzswg ijX83IQ== X-Gm-Gg: AYBFou3C3TMW/AM9tYecKW8SdIlwD8ASrcjMBnIbfEDxQ9gNUMAf8sc6n+zEq15GUNZ wB1nLd430GCbM4XKVNb5I6Npf8CQ6jOQ0q5neGd2qGap671AtcXuefL/09OYCsG/sODqmdCzJ2i B+WYGuL/oYHUliNEghILI9iP0jTreg8LHZortauFlGkOmPiLsX2zeRLeGNidkRY7/8pTuE2OBep GuN8rvlcnJS9lXREJnOLxPjId2NHebsf63sy9M6tEZBKfF6Dn6f3sfAfcVBBaAtXGw1chdyWicL abBHKLFICVht92BusBCz0/e6x/4m9mcmTT85SB/f+cO+hRWGbfxknr3NBaWLEoE/6AUxBcySPYa EbFXMXp+v6Eldfgn5L/QOAdl5WPUPjo+lmnR/zLM0T1kptMrsLheIkVuPrrYx58Hs/o1xIMrcID kEJPDEkpbyHsc5irq5JxlSsPnZ2wYb4OYdkCyh9VUxaodyVhJfRdhR9hkr/lfV+EzjdUJDWq55U G/Eu+2ETuoN2aB4HsHrrrQZ4aOkBMrV/99+5Nd8+RUh30bs8IZN X-Received: by 2002:a05:600c:1c21:b0:49d:1e79:35d6 with SMTP id 5b1f17b1804b1-49d1e79368dmr199645e9.14.1788872540374; Tue, 08 Sep 2026 06:02:20 -0700 (PDT) Message-ID: <1b8c4276-0031-4a19-9663-b63799f5cf81@suse.com> Date: Tue, 8 Sep 2026 15:02:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 3/6] x86/vPCI: tighten locking assertions From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-c1860d/1788872541-CD74B87B-912D8256/0/0 X-purgate-type: clean X-purgate-size: 2867 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872562861158500 Content-Type: text/plain; charset="utf-8" Already when they were introduced, they seemed overly lax. In particular anything invoked solely from vpci_{read,write}() can check that the per- domain PCI r/w lock is held. There's no need to permit the alternative of holding the global PCI devices lock. vpci_msi_arch_update()'s sole call site is update_msi(), which in turn is solely called from write handling hooks. vpci_msi_update(), besides being called from vpci_msi_arch_update() (see above), has two further call sites: - vpci_msi_arch_enable(), called upon control register writes, - vpci_msix_arch_enable_entry(), called solely from update_entry(), which in turn is again called upon control register writes, plus from msix_write(), which read-locks the domain's PCI lock. Both arch_enable functions therefore can also have their assertions adjusted. vpci_msi_disable() is called from - vpci_msi_arch_disable(), called upon control register writes,=20 - vpci_msix_arch_enable_entry(), covered above, - vpci_msix_arch_disable_entry(), called update_entry() (see above) and upon control register writes. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- With this perhaps the comment near the top of vpci_msix_arch_print() might better go away. Thoughts? --- a/xen/arch/x86/hvm/vmsi.c +++ b/xen/arch/x86/hvm/vmsi.c @@ -837,7 +837,7 @@ static int vpci_msi_update(const struct { unsigned int i; =20 - ASSERT_PDEV_LIST_IS_READ_LOCKED(pdev->domain); + ASSERT(rw_is_locked(&pdev->domain->pci_lock)); =20 if ( (address & MSI_ADDR_BASE_MASK) !=3D MSI_ADDR_HEADER ) { @@ -878,7 +878,7 @@ void vpci_msi_arch_update(struct vpci_ms int rc; =20 ASSERT(msi->arch.pirq !=3D INVALID_PIRQ); - ASSERT_PDEV_LIST_IS_READ_LOCKED(pdev->domain); + ASSERT(rw_is_locked(&pdev->domain->pci_lock)); =20 for ( i =3D 0; i < msi->vectors && msi->arch.bound; i++ ) { @@ -930,7 +930,8 @@ int vpci_msi_arch_enable(struct vpci_msi int rc; =20 ASSERT(msi->arch.pirq =3D=3D INVALID_PIRQ); - ASSERT_PDEV_LIST_IS_READ_LOCKED(pdev->domain); + ASSERT(rw_is_locked(&pdev->domain->pci_lock)); + rc =3D vpci_msi_enable(pdev, vectors, 0); if ( rc < 0 ) return rc; @@ -948,7 +949,7 @@ static void vpci_msi_disable(const struc unsigned int i; =20 ASSERT(pirq !=3D INVALID_PIRQ); - ASSERT_PDEV_LIST_IS_READ_LOCKED(pdev->domain); + ASSERT(rw_is_locked(&pdev->domain->pci_lock)); =20 for ( i =3D 0; i < nr && bound; i++ ) { @@ -1004,7 +1005,8 @@ int vpci_msix_arch_enable_entry(struct v int rc; =20 ASSERT(entry->arch.pirq =3D=3D INVALID_PIRQ); - ASSERT_PDEV_LIST_IS_READ_LOCKED(pdev->domain); + ASSERT(rw_is_locked(&pdev->domain->pci_lock)); + rc =3D vpci_msi_enable(pdev, vmsix_entry_nr(pdev->vpci->msix, entry), table_base); if ( rc < 0 ) From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872620; cv=none; d=zohomail.com; s=zohoarc; b=Az+l/llQ08capBmkYpWSBFrP3SurLpxRWNk7l3uz4d5uTkAX1gyF+8BUWOt+EO4AqpgdErczoG+3M2QXfqlTXV4dT4tyxiCcIqw8+GzoVD29GrLqFWiArmBVfYQKfUKASSM9tgofF3SC6u/nTTVMFgn8zptT+Cbsumq7Anc7YmI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872620; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UD/LJtaYXoAHqAilG4ijFKHbuTzxrL9p3CeWMQG+5VI=; b=iQFaHoRmh/S6yyzht+/IC7IAnliOZSXaKD76vRZiOA1+h9/tB+J38/iuwjDOGpapkQcShPhNDTx5VLqdqxSg29D0+Sh/4SoxZTe4w1T9hOTk8NA3gzp3hKb6wh6a/zTzmoFraLk5gRlFxm7Dd2RNmQRt3azZ5CLTJQ8bAp5hi4s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788872620426128.43998746020668; Tue, 8 Sep 2026 06:03:40 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1412010.1642482 (Exim 4.92) (envelope-from ) id 1x3vTu-0007CS-Et; Tue, 08 Sep 2026 13:03:22 +0000 Received: by outflank-mailman (output) from mailman id 1412010.1642482; Tue, 08 Sep 2026 13:03:22 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vTu-0007CL-CG; Tue, 08 Sep 2026 13:03:22 +0000 Received: by outflank-mailman (input) for mailman id 1412010; Tue, 08 Sep 2026 13:03:20 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vTs-0007CD-Ou for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:03:20 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vTs-004ZPd-55 for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:03:20 +0200 Received: from [10.42.69.3] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa00793-8faa-0a2a0a5109dd-0a2a4503a44e-18 for ; Tue, 08 Sep 2026 15:03:20 +0200 Received: from [209.85.221.45] (helo=mail-wr1-f45.google.com) by tlsNG-33051d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa00797-fae8-0a2a45030019-d155dd2dddc9-3 for ; Tue, 08 Sep 2026 15:03:20 +0200 Received: by mail-wr1-f45.google.com with SMTP id ffacd0b85a97d-482f9309813so4256037f8f.1 for ; Tue, 08 Sep 2026 06:03:20 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49cee6158e9sm478335795e9.12.2026.09.08.06.03.17 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:03:18 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872599; x=1789477399; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=UD/LJtaYXoAHqAilG4ijFKHbuTzxrL9p3CeWMQG+5VI=; b=MXu0T5l5CqFEdlbnSYrD/iWXpHImoYVJGEEobPOxmsTvzGYhVv7lxq9nPuWfVrW2Q3 DyPUgVFigt2KC/Gv+vNfV/vh43VEEPKcdmn5ixVsU12P76wVbRjAHcRWhvhhAfscm0AS QSk1dGYs6pgvRlFtZb5oDLNABqF2hEyOKSPRkS1hSRBZhdbbwUI7KvQFto1veY2Ipdlq d10la64P+DeJRYC6svT8NdPTlpI+jox7k9fMiirDlcahbyEDW054beSfNelE2JEzN8jm sGxFdtoLeL8ObWKBY1Wm/65J+OW93RSaS50GYve5JdAEhyjXv+DA7W1JyJ081z91Q/PW XAQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872599; x=1789477399; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=UD/LJtaYXoAHqAilG4ijFKHbuTzxrL9p3CeWMQG+5VI=; b=ZtrLH27oo8g8mG5ey/ejJyetxdxXAbioSn4ExOSvDLsONgSm7OAh1BGIwalLvtMVnF 9SWcxbj9rjpGZgKqUC3gDPyT7QzAiRJF1fAAgNwgfKHYAAoJK7KhI0zfgIbP4DZzDZ8U dOJHEkmR2o/KMbqArs6m46gYnGRCqVQWAAEuS92Ho7755cF2TEgw425CPmxVtt3sFyyu +T0v00RasLBLuKXFHjbgKB6Xqsc5Vp+Qo0Hakx9RvO7RAu1sRdha2wxvdj1xmOFuLnRR /pdow2iUvXWne3efpnyAdiUk/JiTllW/V0MFrNoeh3WagQqvGCfJnCIQojjP6rGwlf2A QFyQ== X-Gm-Message-State: AFuF++le6KnXyHviL4VO7ZytQzfmAQphAtwwxyITYydcsfsy51UceghS m9So/5ckRR0wdo1VUUbr5TTRm2GS1gwJiU5PxTaGDrBbGzhpNwj2DTT7JKcvTj6gsse7k0hDjn3 MD8U9dQ== X-Gm-Gg: AYBFou2MEZV3QH5KLpyAOKXxER7CnqmlNL8Y8fvoeVuGHU2k/Yk/gDgjFkKlBtndN1c hX24r1vmhouNWhBCYsJR3Qt5DIEaAnae9BTtHoX2ItU1nWEtjqqMEwEBlBtxKwAmz51w+Btfcvx jJPANSoEXtk2DJGfPu0qlUcwhQsjvNgJOe/tTDpcyWXA7lvcfVm9wUplMxqADSSCcov8wzXdV8i SycrgUyz8RxTl80x3a7tgWJCpiZj7+XbTEoERJd9Ey6NvaQzbmhFcPQAjB0LK9Y+vylfgyT5eJr b2EtvW6hMSDQSm0q7XAratM/gg3/3MtW1Fxie38X23S93WaEFDQZEDlusKgqV/Hg+XQCYWpXu+p R7WQkjE075Aj+kspbtiOW9lMuq2NHKGTp5I2u38A+Y2ywC8faeO3Vo6PS0unY7R6G7TZboSRVIz 6J6M6Im6bvQ08ZHRRPP+Y+oL6Qc1AOQiXYVkdvEvaSRmB8Viwfb5KOFexhqnQT36EsuviATF6zD A5DW7XddrkFlUjF0dHQPClTCeSTyntMUKgJZmoWin+07g3felH1 X-Received: by 2002:a05:600c:3551:b0:49d:16df:8521 with SMTP id 5b1f17b1804b1-49d16df85a8mr77640395e9.4.1788872598900; Tue, 08 Sep 2026 06:03:18 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 15:03:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 4/6] vPCI: drop bogus locking assertion From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= , Stewart Hildebrand References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-33051d/1788872600-77EC24E9-83652250/0/0 X-purgate-type: clean X-purgate-size: 647 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872622338158500 Content-Type: text/plain; charset="utf-8" msix_find() is a local helper, with all callers explicitly acquiring the per-domain PCI r/w lock. The checking, which should never have included the alternative of holding the global PCI devices lock, therefore is pretty much pointless. Signed-off-by: Jan Beulich Acked-by: Roger Pau Monn=C3=A9 --- a/xen/drivers/vpci/msix.c +++ b/xen/drivers/vpci/msix.c @@ -158,8 +158,6 @@ static struct vpci_msix *msix_find(const { struct vpci_msix *msix; =20 - ASSERT_PDEV_LIST_IS_READ_LOCKED(d); - list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next ) { const struct vpci_bar *bars =3D msix->pdev->vpci->header.bars; From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872642; cv=none; d=zohomail.com; s=zohoarc; b=EWLAhev4QKLkqnEOR882U/GXMgx1dXCL+PkxbOYmBWy9kDZ+XJeHIsWebqbgwDtl+YWoaixUfTnV4CCjR6UDMoFtWGbEehz3j9JNoadPlmc6S+elG6cZew6MsgwDSuuVdsaw8Kr9NdhWBi2o+w5sBw66OELhegarBRgJlhrQ9bY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872642; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+vtrY7KzlKFzHbPTxxbP/vZcWl/f7JuDpE3t3EALSeM=; b=Z2xYFmPbeWWW30DO10r2hm235P2d/Ow2hgne+h7FWu2HYeLA2SpTwVI7QOxQ8uNjaBOJYwooeHYGPayz7Q5SKwSY+zuss10lRn6Mo3jWqZqI6Waj60/LN5ZpJVMD99DU+lZNu7g4lk0lPGVni5Gsa6A7byWkSXSPmSR1pX661c8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788872642812397.0906084487849; Tue, 8 Sep 2026 06:04:02 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1412012.1642491 (Exim 4.92) (envelope-from ) id 1x3vUM-0007Wt-MJ; Tue, 08 Sep 2026 13:03:50 +0000 Received: by outflank-mailman (output) from mailman id 1412012.1642491; Tue, 08 Sep 2026 13:03:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vUM-0007Wj-Io; Tue, 08 Sep 2026 13:03:50 +0000 Received: by outflank-mailman (input) for mailman id 1412012; Tue, 08 Sep 2026 13:03:48 +0000 Received: from mx.expurgate.net ([195.190.135.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vUK-0007VN-Aw for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:03:48 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vUJ-00HE7L-Nv for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:03:47 +0200 Received: from [10.42.69.4] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa007a4-bab6-0a2a0a5309dd-0a2a4504da4c-48 for ; Tue, 08 Sep 2026 15:03:47 +0200 Received: from [209.85.128.43] (helo=mail-wm1-f43.google.com) by tlsNG-ebf023.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa007b3-b57f-0a2a45040019-d155802bdde3-3 for ; Tue, 08 Sep 2026 15:03:47 +0200 Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-499ac87c92bso49770895e9.1 for ; Tue, 08 Sep 2026 06:03:47 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49d1e728677sm784515e9.2.2026.09.08.06.03.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:03:46 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872627; x=1789477427; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=+vtrY7KzlKFzHbPTxxbP/vZcWl/f7JuDpE3t3EALSeM=; b=N/hmohWgq3L7vOHbCEUZ85XQ7SpR/NJE8N48YnEHUdfivIDNPJwUCnFE20n4JBFMcV wrQYzD4Txkt6mJSIEL8LAq5A2MMMMoVz+4TgMO5HTH8H1P8tkMrW+ke8UdZztvXfh8TE gAFn7Y2FR4A+K8b1Z2eDRukR/t4Mu6SXGkJG+xbpPZ9pW/wHwcOIX/MRD7WSaNc+cEIb PX55hbYbu+T/sWQv7NCzabw3z0/3h9o1deOTttiphzVghpaEDgbfcK3en4PIXIn8h2o3 uigX4csz4oQ1czrXlsx4ZAtZVM7QHn3Mtlcim6YAdGWvf91zZWDOUNUlFKEng4+wSoXm t9WA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872627; x=1789477427; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=+vtrY7KzlKFzHbPTxxbP/vZcWl/f7JuDpE3t3EALSeM=; b=seEZbXbGVQNlkGSGysNSpko0QFam1S1nsp3hmo1YXL4+H0cjguIvrlx8hR8o8gDZbb 1sIQlyJavD4uDKkNLlNA6NBApk7HhWki1iZX68FIJbPKAGmnjZpARONnWSFSG/LJknxE HmxEHWt8Vzye3U9hg6fGszEJ87k6dB4bWvhgdM1bxBX8359t9E0+zjjvcr1KIrRs3TYa 1nc/+oqikS3bq4yK3nm1h7DZOtOKKz7UfE3ndEHz59DL9VWFFXomFaBjABoEBS5x1XJ6 Dke3AWLRCt2/oKPaOtZNNSWEGOOZMLPGUtUBi0SmZjCYt10cRwyZJFELM677mFhhKZIL OoHw== X-Gm-Message-State: AFuF++lLndc3M/PqRj3ZXk2q3PcA3I7vhVtAEqpQr1f7bydifUyo4bA0 +2Q7krLs/WcOaIJsaGHr91F2VSoZTxe2NXvG3mgB8/yCZ0finG7gOF+fsttXyLePfs8CjMA0Syw EzMuVRw== X-Gm-Gg: AYBFou0qk2Q9AT7nj8ZQ7azhV0zAp8uppXJJoAJTjgwIulZaSczluGkWW8sqTTgXr2z 0Qn2gA2h1xtuuRN+AIi/tY7W2MsZD7wzTvWgINLhDnMqx764N3AXHGnuAYP9Epc8p4GnzmMEzSs UH/aZ2rhpHpcwEHzH6f0GAn+L/37EafDH7NS4fzFAfmpBJoHs1YP5TJiUxurISBI7oYHsaGPZi3 EvN7Rkl7n70cYEsG1eoBfdlxw6q3o3okq4LLK0HvAotddbjWpQc+UlQvSJdizl3fZCcAIi8XoOl vufuknsa2B/G5vgmDLA7oSUan9IXBQKkODYOlYqrEnWYok6p7rg6G4HHVMO8+rNvggzf6hZXVZ9 5xjm8kmvZVyp9mq6Alo8YouwUx/JKpGyG8TrNKyqsaA+b11dhrtn1t3arErIpE+cWhp1dflrRSG wLQ2fugCpCo5xDryIdA7gil5UtCsU4a5k1tZEjo4f7y8/Jw4PeVBFZTmq5LIcxRorYXnSexS8mj 6RPxv9hd/xx4CcvZSrbqgb4czDAZyA1d2YL71lSE/XncpN5o79G X-Received: by 2002:a05:600c:34c9:b0:49c:f729:d757 with SMTP id 5b1f17b1804b1-49cf824f757mr282660295e9.11.1788872627030; Tue, 08 Sep 2026 06:03:47 -0700 (PDT) Message-ID: Date: Tue, 8 Sep 2026 15:03:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 5/6] x86/pass-through: use simpler locking primitives in pt_irq_{create,destroy}_bind() From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-ebf023/1788872627-C14D3B50-4B870148/0/0 X-purgate-type: clean X-purgate-size: 1788 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872644608158500 Content-Type: text/plain; charset="utf-8" Both functions already assume IRQs to be enabled upon entry, by e.g. their acquiring of the domain's event channel lock. Hence like e.g. hvm_migrate_pirq() (also called from here) does, saving/restoring of EFLAGS.IF isn't necessary (because of the functions called, we can't really avoid the saving there). Signed-off-by: Jan Beulich --- a/xen/drivers/passthrough/x86/hvm.c +++ b/xen/drivers/passthrough/x86/hvm.c @@ -400,8 +400,7 @@ int pt_irq_create_bind( =20 if ( pt_irq_bind->u.msi.gflags & XEN_DOMCTL_VMSI_X86_UNMASKED ) { - unsigned long flags; - struct irq_desc *desc =3D pirq_spin_lock_irq_desc(info, &flags= ); + struct irq_desc *desc =3D pirq_spin_lock_irq_desc(info, NULL); =20 if ( !desc ) { @@ -411,7 +410,7 @@ int pt_irq_create_bind( } =20 guest_mask_msi_irq(desc, false); - spin_unlock_irqrestore(&desc->lock, flags); + spin_unlock_irq(&desc->lock); } =20 write_unlock(&d->event_lock); @@ -606,9 +605,7 @@ int pt_irq_destroy_bind( break; case PT_IRQ_TYPE_MSI: { - unsigned long flags; - struct irq_desc *desc =3D domain_spin_lock_irq_desc(d, machine_gsi, - &flags); + struct irq_desc *desc =3D domain_spin_lock_irq_desc(d, machine_gsi= , NULL); =20 if ( !desc ) return -EINVAL; @@ -617,7 +614,7 @@ int pt_irq_destroy_bind( * pt_irq_create_bind is consistent across bind/unbinds. */ guest_mask_msi_irq(desc, true); - spin_unlock_irqrestore(&desc->lock, flags); + spin_unlock_irq(&desc->lock); break; } From nobody Thu Sep 24 20:23:38 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1788872674; cv=none; d=zohomail.com; s=zohoarc; b=nX6tFqv0rJYlp9UrSTMGjZw4TJijYVNmpHMDQa49glKsAR0DAOB6JPHG7Pq7q3cTEMiXRrpgqD8tAVzXBi9kWJxmOoJyYPQogcL1VUx0cWhOnHef8NBPrcvK0A+5ZdsMpVMpmpC+hnoZVypCpRpSXn0WVwa0BsYo8SlW7/1AYHg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1788872674; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=N4ehEHAnD16Wpc4/Cpl1nzW0/o6yLO83VsoudM0AX+E=; b=IfImzYAqG+sbj2Ye5p/FksSds4AYmAhLjMncoZP8GrKGY6HylqV84m1QYwWfW8r22EMKlDtZVlomchjjnFCfe+NopdTUaqMOcz4ksutfwvTwzcieXot90CyDXtQnqnnkye6PqTr909fb641SiM+fgv+iNRLsYjFV1vycoctQUNc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1788872674194968.6146392104289; Tue, 8 Sep 2026 06:04:34 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1412017.1642500 (Exim 4.92) (envelope-from ) id 1x3vUf-0007yZ-0B; Tue, 08 Sep 2026 13:04:09 +0000 Received: by outflank-mailman (output) from mailman id 1412017.1642500; Tue, 08 Sep 2026 13:04:08 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vUe-0007yS-TT; Tue, 08 Sep 2026 13:04:08 +0000 Received: by outflank-mailman (input) for mailman id 1412017; Tue, 08 Sep 2026 13:04:07 +0000 Received: from mx.expurgate.net ([194.145.224.20]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1x3vUd-0007xu-Os for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 13:04:07 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1x3vUd-004Zhk-5J for xen-devel@lists.xenproject.org; Tue, 08 Sep 2026 15:04:07 +0200 Received: from [10.42.69.11] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6aa007bd-8faa-0a2a0a5109dd-0a2a450b8ee4-26 for ; Tue, 08 Sep 2026 15:04:07 +0200 Received: from [209.85.208.176] (helo=mail-lj1-f176.google.com) by tlsNG-42698a.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.1) (envelope-from ) id 6aa007c6-b7e8-0a2a450b0019-d155d0b0d453-3 for ; Tue, 08 Sep 2026 15:04:07 +0200 Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-39c74c469e8so29495451fa.0 for ; Tue, 08 Sep 2026 06:04:07 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-485885bfe14sm36519258f8f.35.2026.09.08.06.04.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Sep 2026 06:04:05 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=google header.d=suse.com header.i="@suse.com" header.h="Content-Transfer-Encoding:Content-Type:In-Reply-To:Autocrypt:Content-Language:References:Cc:To:From:Subject:User-Agent:MIME-Version:Date:Message-ID" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1788872646; x=1789477446; darn=lists.xenproject.org; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to:content-type; bh=N4ehEHAnD16Wpc4/Cpl1nzW0/o6yLO83VsoudM0AX+E=; b=StqUffyYbC8vWMRWtrFhFKzJYaDcrQ5u+KPMsBxhltwXgCptzdFXZGt4aFCSwVFUmS lCaqwQpuiFF9YZuEr3wdmVAT0KgvSJM8mR7nApmr//ZbHS88Ma1iRcVfsc41hBhhPQ9r gxM+k6RR2RKWVmk4lTKso8Y75rYpjtcbvmzsh/wI+QQqe+0TwAekfjjCakEV8YsTG4sA 5XNpjiq1eiO7k5/XomfDdGUGnnmbFAFFsx1USmdRpEyaWcpauiymejXDCoQfix2xLMJT 80PKCoT0JxznrnEj394vt+YHu9GKKnN06V2e4zdpKgAlqX1gAUGG7HGj6txOnYnHvQtf 8NNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788872646; x=1789477446; h=content-transfer-encoding:content-type:in-reply-to:autocrypt :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=N4ehEHAnD16Wpc4/Cpl1nzW0/o6yLO83VsoudM0AX+E=; b=qd3prFamnMPRUtSlGLbAq+FAl0m7xgBW4ZCbIOdt+eCKyll3u/4A63jvoQO+vNrmai 9TAMwN8xt4lSQXUaSz8lxAh5fs/9yP9E3sMA8D5pyIcKkQbvNM8SyLqR8Lp4gedV/Rtd iETft/4SLTedliKAQpyOeiy7Bp5ygol0F6keIbPlLFlitv2W0kWG8U2PP76NjpIu3NKO 43w9sFZYOsK/o5PurU9IpEJe9xx1R/YlCHcyHmuCX18u7zd3ZckY+gDFboiZao5GRkmZ aWUV7+Uwjpx5w6iG1PZcOywnbn49HK4xo2k60e678yXVwEUZfGBS8W+IyIfiX/d9R4Rj nehA== X-Gm-Message-State: AFuF++m7cjp66oq+nS6SQemWgDx0LlfJ9ofHDiA0W4R06R44rIsmA9BA Bhb2ZHqWaCGlLAnyuVMjL8yNEElrrSt2BByYyRPIdD9sHCgjCvGZd0h18uOoXqzFAOx8aQewvHw T0GbRGA== X-Gm-Gg: AYBFou1C65f7WP5PF7RakbIslw3JJpBVLSyKK9XOvkltoYJggaHJnWjAQZKwjokHYbQ byrbfBEqp+uGvFFwPfwaM0rSnOLzNgVeLEC+Pdk10Bio6IrTDhyUj6cDZ9FZCgU4FIi5ENjF/3Q nL1qUltIWLbG1HvKw+SuxFP4tt3lLK3SCvZC/pD6NzsE+zBU+7Cvi2jX1U8j4XXUJHySKxbxaHG Pn5E2OcYNVk5BTk+E+XabRILSxHt+VmbRB0N9FJpoLmOc90SvsaFKQHAzj/2zY/W9ArJhpEfjc6 gpCsSR9k4+ZFAAjlKb3kkFnF7XS1bYO/nSht/DachY3eG6x44FWILzGvBlH8FasyFPHYVFJEJfq fIigoayyjMElk5kINara3Mn6r9ahWiGVyVWJIULE0RpWWEsOrbwlKBQtJtSDdp9Cnv1k7vnQYZ5 ibtODAM/L8oWGzHPhWeq+suXUQRdwE4xocwjpMZBlpB2sSt1hUz/vQITfYGG8snAOsFUW4HfXj4 HLQOdDWS/ZbiEWCRdGB6+WqUwAtektei8/adFkOAtj0hG+WOcutCqr7eFQP2wY= X-Received: by 2002:a05:651c:a11a:20b0:3a3:7681:6d6e with SMTP id 38308e7fff4ca-3a3768174ebmr19166161fa.23.1788872646239; Tue, 08 Sep 2026 06:04:06 -0700 (PDT) Message-ID: <20d7bba5-33d2-48c0-963e-7ed24e014e21@suse.com> Date: Tue, 8 Sep 2026 15:04:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: [PATCH 6/6] x86/HVM: drop vector parameter from .pi_update_irte() hook From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Teddy Astie , =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= References: Content-Language: en-US Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Transfer-Encoding: quoted-printable X-purgate-ID: tlsNG-42698a/1788872647-AB4D39EA-10A8BAFC/0/0 X-purgate-type: clean X-purgate-size: 2804 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1788872676854158500 Content-Type: text/plain; charset="utf-8" It's redundant with the struct pirq * being passed, and the vector field in struct msi_desc wanting to be cleared can be derived from v (and hence pi_desc) being NULL. Signed-off-by: Jan Beulich --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -395,7 +395,7 @@ void vmx_pi_hooks_deassign(struct domain * when guest changes MSI/MSI-X information. */ static int cf_check vmx_pi_update_irte(const struct vcpu *v, - const struct pirq *pirq, uint8_t gv= ec) + const struct pirq *pirq) { const struct pi_desc *pi_desc =3D v ? &v->arch.hvm.vmx.pi_desc : NULL; struct irq_desc *desc; @@ -414,7 +414,7 @@ static int cf_check vmx_pi_update_irte(c goto unlock_out; } msi_desc->pi_desc =3D pi_desc; - msi_desc->gvec =3D gvec; + msi_desc->gvec =3D pi_desc ? pirq_dpci(pirq)->gmsi.gvec : 0; msg =3D msi_desc->msg; =20 spin_unlock_irq(&desc->lock); --- a/xen/arch/x86/include/asm/hvm/hvm.h +++ b/xen/arch/x86/include/asm/hvm/hvm.h @@ -220,8 +220,7 @@ struct hvm_function_table { void (*sync_pir_to_irr)(struct vcpu *v); bool (*test_pir)(const struct vcpu *v, uint8_t vector); void (*handle_eoi)(uint8_t vector, int isr); - int (*pi_update_irte)(const struct vcpu *v, const struct pirq *pirq, - uint8_t gvec); + int (*pi_update_irte)(const struct vcpu *v, const struct pirq *pirq); void (*update_vlapic_mode)(struct vcpu *v); =20 /*Walk nested p2m */ @@ -835,9 +834,9 @@ static inline void hvm_set_nonreg_state( } =20 static inline int hvm_pi_update_irte(const struct vcpu *v, - const struct pirq *pirq, uint8_t gvec) + const struct pirq *pirq) { - return alternative_call(hvm_funcs.pi_update_irte, v, pirq, gvec); + return alternative_call(hvm_funcs.pi_update_irte, v, pirq); } =20 static inline void hvm_update_vlapic_mode(struct vcpu *v) --- a/xen/drivers/passthrough/x86/hvm.c +++ b/xen/drivers/passthrough/x86/hvm.c @@ -388,7 +388,7 @@ int pt_irq_create_bind( /* Use interrupt posting if it is supported. */ if ( iommu_intpost ) { - rc =3D hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec); + rc =3D hvm_pi_update_irte(vcpu, info); =20 if ( rc ) { @@ -686,7 +686,7 @@ int pt_irq_destroy_bind( what =3D "bogus"; } else if ( pirq_dpci && pirq_dpci->gmsi.posted ) - hvm_pi_update_irte(NULL, pirq, 0); + hvm_pi_update_irte(NULL, pirq); =20 if ( pirq_dpci && (pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) && list_empty(&pirq_dpci->digl_list) )