Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1412130 > unrolled thread
| Started by | Jan Niehusmann <jan@gondor.com> |
|---|---|
| First post | 2016-06-02 13:10 +0200 |
| Last post | 2016-06-03 17:00 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
Suspend broken on Thinkpad x201s since 4.7-rc1 Jan Niehusmann <jan@gondor.com> - 2016-06-02 13:10 +0200
[PATCH] iommu/vt-d: fix overflow of iommu->domains array Jan Niehusmann <jan@gondor.com> - 2016-06-03 17:00 +0200
| From | Jan Niehusmann <jan@gondor.com> |
|---|---|
| Date | 2016-06-02 13:10 +0200 |
| Subject | Suspend broken on Thinkpad x201s since 4.7-rc1 |
| Message-ID | <rFyFI-5bR-23@gated-at.bofh.it> |
Hi, when trying out 4.7-rc1 on my Thinkpad x201s, I noticed that suspending the system doesn't work any more. Instead, when trying to suspend, the system hangs with a black screen and the suspend-LED blinking. I bisected the issue to commit 22e2f9fa63b092923873fc8a52955151f4d83274, and indeed, reverting this commit from 4.7-rc1 fixes the issue. As the system just hangs on suspend, I don't have any error message to quote. But if there is something I could try to get some diagnostics, please let me know. Jan
[toc] | [next] | [standalone]
| From | Jan Niehusmann <jan@gondor.com> |
|---|---|
| Date | 2016-06-03 17:00 +0200 |
| Subject | [PATCH] iommu/vt-d: fix overflow of iommu->domains array |
| Message-ID | <rFYJP-4Ab-11@gated-at.bofh.it> |
| In reply to | #1412130 |
The valid range of did in get_iommu_domain(*iommu, did)
is 0..cap_ndoms(iommu->cap), so don't exceed that
range in free_all_cpu_cached_iovas().
Signed-off-by: Jan Niehusmann <jan@gondor.com>
---
drivers/iommu/intel-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index a644d0c..82989d4 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -4600,7 +4600,7 @@ static void free_all_cpu_cached_iovas(unsigned int cpu)
if (!iommu)
continue;
- for (did = 0; did < 0xffff; did++) {
+ for (did = 0; did < cap_ndoms(iommu->cap); did++) {
domain = get_iommu_domain(iommu, did);
if (!domain)
--
2.1.4
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web