diff options
author | Jan Niehusmann <jan@gondor.com> | 2016-06-06 15:20:11 +0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2016-06-27 14:21:37 +0300 |
commit | 3bd4f9112f87a9c65fe6e817272806167f0bc9ed (patch) | |
tree | a2aa2e26e7fb976169baaa54d09877e99ae6ed7d /drivers/iommu/amd_iommu_init.c | |
parent | 583248e6620a4726093295e2d6785fcbc2e86428 (diff) | |
download | linux-3bd4f9112f87a9c65fe6e817272806167f0bc9ed.tar.xz |
iommu/vt-d: Fix overflow of iommu->domains array
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().
The user-visible impact of the out-of-bounds access is the machine
hanging on suspend-to-ram. It is, in fact, a kernel panic, but due
to already suspended devices, that's often not visible to the user.
Fixes: 22e2f9fa63b0 ("iommu/vt-d: Use per-cpu IOVA caching")
Signed-off-by: Jan Niehusmann <jan@gondor.com>
Tested-By: Marius Vlad <marius.c.vlad@intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/amd_iommu_init.c')
0 files changed, 0 insertions, 0 deletions