From: Jacob Pan <jacob.jun.pan@linux.intel.com>
To: iommu@lists.linux-foundation.org,
LKML <linux-kernel@vger.kernel.org>,
Joerg Roedel <joro@8bytes.org>,
"Lu Baolu" <baolu.lu@linux.intel.com>,
David Woodhouse <dwmw2@infradead.org>
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
Raj Ashok <ashok.raj@intel.com>, "Yi Liu" <yi.l.liu@intel.com>,
Eric Auger <eric.auger@redhat.com>,
"Mehta, Sohil" <sohil.mehta@intel.com>,
Joe Perches <joe@perches.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>
Subject: [PATCH v5 7/8] iommu/vt-d: Avoid sending invalid page response
Date: Mon, 2 Dec 2019 11:58:28 -0800 [thread overview]
Message-ID: <1575316709-54903-8-git-send-email-jacob.jun.pan@linux.intel.com> (raw)
In-Reply-To: <1575316709-54903-1-git-send-email-jacob.jun.pan@linux.intel.com>
Page responses should only be sent when last page in group (LPIG) or
private data is present in the page request. This patch avoids sending
invalid descriptors.
Fixes: 5d308fc1ecf53 ("iommu/vt-d: Add 256-bit invalidation descriptor
support")
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
---
drivers/iommu/intel-svm.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c
index 62f815e0ae57..4ed7426473c1 100644
--- a/drivers/iommu/intel-svm.c
+++ b/drivers/iommu/intel-svm.c
@@ -683,11 +683,10 @@ static irqreturn_t prq_event_thread(int irq, void *d)
if (req->priv_data_present)
memcpy(&resp.qw2, req->priv_data,
sizeof(req->priv_data));
+ resp.qw2 = 0;
+ resp.qw3 = 0;
+ qi_submit_sync(&resp, iommu);
}
- resp.qw2 = 0;
- resp.qw3 = 0;
- qi_submit_sync(&resp, iommu);
-
head = (head + sizeof(*req)) & PRQ_RING_MASK;
}
--
2.7.4
next prev parent reply other threads:[~2019-12-02 19:54 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-02 19:58 [PATCH v5 0/8] VT-d Native Shared virtual memory cleanup and fixes Jacob Pan
2019-12-02 19:58 ` [PATCH v5 1/8] iommu/vt-d: Fix CPU and IOMMU SVM feature matching checks Jacob Pan
2019-12-02 19:58 ` [PATCH v5 2/8] iommu/vt-d: Match CPU and IOMMU paging mode Jacob Pan
2019-12-02 19:58 ` [PATCH v5 3/8] iommu/vt-d: Reject SVM bind for failed capability check Jacob Pan
2019-12-02 19:58 ` [PATCH v5 4/8] iommu/vt-d: Avoid duplicated code for PASID setup Jacob Pan
2019-12-02 19:58 ` [PATCH v5 5/8] iommu/vt-d: Fix off-by-one in PASID allocation Jacob Pan
2019-12-02 19:58 ` [PATCH v5 6/8] iommu/vt-d: Replace Intel specific PASID allocator with IOASID Jacob Pan
2019-12-02 19:58 ` Jacob Pan [this message]
2019-12-02 19:58 ` [PATCH v5 8/8] iommu/vt-d: Misc macro clean up for SVM Jacob Pan
2019-12-02 20:10 ` Joe Perches
2019-12-03 18:27 ` Jacob Pan
2019-12-09 17:14 ` [PATCH v5 0/8] VT-d Native Shared virtual memory cleanup and fixes Jacob Pan
2019-12-10 1:14 ` Lu Baolu
2019-12-10 20:29 ` Jacob Pan
2019-12-28 2:46 ` Lu Baolu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1575316709-54903-8-git-send-email-jacob.jun.pan@linux.intel.com \
--to=jacob.jun.pan@linux.intel.com \
--cc=ashok.raj@intel.com \
--cc=baolu.lu@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=eric.auger@redhat.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joe@perches.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sohil.mehta@intel.com \
--cc=yi.l.liu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox