Received: by 10.192.165.148 with SMTP id m20csp189643imm; Thu, 19 Apr 2018 19:19:24 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/wjrou29SDm2IleOzNE6GKQeTqoznZ07dWzhenFlBTTmJ/Db5pK1I/gzzpIfKX3gg8Ixj9 X-Received: by 10.98.251.1 with SMTP id x1mr7945322pfm.90.1524190764616; Thu, 19 Apr 2018 19:19:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524190764; cv=none; d=google.com; s=arc-20160816; b=YcxI1tvWzhA7kqxCc/nF5hsZwheAdpS2uyNANEmSmed5UFV/U+qre9/EiIAtJF0pwd 444uVFu8V+i1/WOrH5Wfos6w83TSSV8hzulKizAFLtUnbdEY2++edvDExF4YWhDZ9c2L ur5iZzMPd/PauduVSZjBMvyxXMyzwkgibBgBJdxA0F/OfuNCeaZRcJViQhANkEpDzuXS wY0CsBoofcGp0xQZKSHrzNbE+3NFE4V64hCncsk9wQG1BZIOk2Z3vlT0dBei/KoetQPk iQwtzYBD7EHJzb2xZEKU9T1bRQVhi405T6SNRy/z0i9AjcojLcYm7zZFMHSGIHx1eQ81 Ks4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature:arc-authentication-results; bh=FNCJbOdxMrx/c7P3H3+CFiRmbr7LwfeyWJ62la252ac=; b=v+xB5BMTDjF7cLbFq495ruRcO8WaK3ik/Q8mRKors6NRec0ZL6duzyhX+pOyckEgLt 9SKGe6Twn2oVjMd4xkXfTjsNx5oLnVVxmUg2hcBgye6IFFnpI9wy84rOKFdGwo9sQ4Hi gT6IeOAT6xyKbCeCzcKbvPYgUOAl91PaSVG01CYt4wyVOJVxyA769i1sAtjo+x3IFtR/ ygQ8Pi1s7gD8RNsXqydv4P21Ai9dTong5Sc/8GR6Y6urnMPt0Bh/LBSbFhBzdiYXqfzM 39Q0a2SLGKH192faLVD4muJIIGtbKwMmA2406j2kedWdg+tmaK7wObv//9hkZtBXKNjC xpdw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=RNscN5MU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 33-v6si4660451ply.517.2018.04.19.19.19.10; Thu, 19 Apr 2018 19:19:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=RNscN5MU; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754087AbeDTCSH (ORCPT + 99 others); Thu, 19 Apr 2018 22:18:07 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:43160 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753784AbeDTCSG (ORCPT ); Thu, 19 Apr 2018 22:18:06 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w3K2BoVa059988; Fri, 20 Apr 2018 02:17:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2017-10-26; bh=FNCJbOdxMrx/c7P3H3+CFiRmbr7LwfeyWJ62la252ac=; b=RNscN5MUbubQdX081kY3Kn/VYiPvpX8VVwGKorA+P6l1UL2EKg66Afc+lPe6gqNFEvts LTqsp4/keh0WS+Jws1op3iXUNEJd6SxIxC4abVL7r7aLa56Zg8KFNoiDmQfGCHoKK04p vDAgJVyjNuycVYI7ko0eWK7t0NBB/7149ROpdFVal4KsKkqkcTzwiy8YUCbaJKaYCCYU 7KixZpcN6UXIIdojmqFdgFRVB0a/taHYGkzZVXLRqYMrsTxRxkOJ7UlvOIjwmop0fc/p 15/qPJeXo2A9Lz+mC7Rks9fpJt+fcAFYx2U/LyyYLeTDHS4jPS4RbRHTSuIVlKcGfAq9 gw== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp2130.oracle.com with ESMTP id 2hdrxp2js6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Apr 2018 02:17:49 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w3K2HiAR022030 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 20 Apr 2018 02:17:44 GMT Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id w3K2HhiX022396; Fri, 20 Apr 2018 02:17:43 GMT Received: from [10.39.217.206] (/10.39.217.206) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 19 Apr 2018 19:17:43 -0700 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.3 \(3445.6.18\)) Subject: Re: [PATCH] iommu/vt-d: fix usage of force parameter in intel_ir_reconfigure_irte() From: Jag Raman In-Reply-To: <23b8f026-2dc2-e00e-98d5-f1a090e3e534@oracle.com> Date: Thu, 19 Apr 2018 22:17:42 -0400 Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Message-Id: <183BCE4E-1BCF-4410-AFA7-1D46B7978AD3@oracle.com> References: <1520375981-4958-1-git-send-email-jag.raman@oracle.com> <23b8f026-2dc2-e00e-98d5-f1a090e3e534@oracle.com> To: joro@8bytes.org, tglx@linutronix.de X-Mailer: Apple Mail (2.3445.6.18) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8868 signatures=668698 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804200018 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Apr 4, 2018, at 2:06 PM, Jag Raman wrote: >=20 >=20 >=20 > On 3/6/2018 5:39 PM, Jagannathan Raman wrote: >> It was noticed that the IRTE configured for guest OS kernel >> was over-written while the guest was running. As a result, >> vt-d Posted Interrupts configured for the guest are not being >> delivered directly, and instead bounces off the host. Every >> interrupt delivery takes a VM Exit. >> It was noticed that the following stack is doing the over-write: >> [ 147.463177] modify_irte+0x171/0x1f0 >> [ 147.463405] intel_ir_set_affinity+0x5c/0x80 >> [ 147.463641] msi_domain_set_affinity+0x32/0x90 >> [ 147.463881] irq_do_set_affinity+0x37/0xd0 >> [ 147.464125] irq_set_affinity_locked+0x9d/0xb0 >> [ 147.464374] __irq_set_affinity+0x42/0x70 >> [ 147.464627] write_irq_affinity.isra.5+0xe1/0x110 >> [ 147.464895] proc_reg_write+0x38/0x70 >> [ 147.465150] __vfs_write+0x36/0x180 >> [ 147.465408] ? handle_mm_fault+0xdf/0x200 >> [ 147.465671] ? _cond_resched+0x15/0x30 >> [ 147.465936] vfs_write+0xad/0x1a0 >> [ 147.466204] SyS_write+0x52/0xc0 >> [ 147.466472] do_syscall_64+0x74/0x1a0 >> [ 147.466744] entry_SYSCALL_64_after_hwframe+0x3d/0xa2 >> reversing the sense of force check in intel_ir_reconfigure_irte() >> restores proper posted interrupt functionality >> Signed-off-by: Jagannathan Raman >> --- >> Hi Thomas, >> I noticed that you added intel_ir_reconfigure_irte() with the >> following commit: >> d491bdff888e ("iommu/vt-d: Reevaluate vector configuration on >> activate()") >> Could you please confirm the usage of "force" parameter in >> intel_ir_reconfigure_irte()? >> drivers/iommu/intel_irq_remapping.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> diff --git a/drivers/iommu/intel_irq_remapping.c = b/drivers/iommu/intel_irq_remapping.c >> index 66f69af..3062a15 100644 >> --- a/drivers/iommu/intel_irq_remapping.c >> +++ b/drivers/iommu/intel_irq_remapping.c >> @@ -1136,7 +1136,7 @@ static void intel_ir_reconfigure_irte(struct = irq_data *irqd, bool force) >> irte->dest_id =3D IRTE_DEST(cfg->dest_apicid); >> /* Update the hardware only if the interrupt is in remapped = mode. */ >> - if (!force || ir_data->irq_2_iommu.mode =3D=3D IRQ_REMAPPING) >> + if (force || ir_data->irq_2_iommu.mode =3D=3D IRQ_REMAPPING) >> modify_irte(&ir_data->irq_2_iommu, irte); >> } >> =20 >=20 > *ping* *ping* > _______________________________________________ > iommu mailing list > iommu@lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/iommu