aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gdb/vmlinux-gdb.py
diff options
context:
space:
mode:
authorAaron Campbell <[email protected]>2016-07-03 00:23:24 +0000
committerJoerg Roedel <[email protected]>2016-07-04 11:34:52 +0000
commit0caa7616a6aca449dd68b58cb29bd491d296c2d5 (patch)
treecaa80d64be89509628aea83babbc05dc3fcb2539 /scripts/gdb/vmlinux-gdb.py
parentLinux 4.7-rc6 (diff)
downloadkernel-0caa7616a6aca449dd68b58cb29bd491d296c2d5.tar.gz
kernel-0caa7616a6aca449dd68b58cb29bd491d296c2d5.zip
iommu/vt-d: Fix infinite loop in free_all_cpu_cached_iovas
Per VT-d spec Section 10.4.2 ("Capability Register"), the maximum number of possible domains is 64K; indeed this is the maximum value that the cap_ndoms() macro will expand to. Since the value 65536 will not fix in a u16, the 'did' variable must be promoted to an int, otherwise the test for < 65536 will always be true and the loop will never end. The symptom, in my case, was a hung machine during suspend. Fixes: 3bd4f9112f87 ("iommu/vt-d: Fix overflow of iommu->domains array") Signed-off-by: Aaron Campbell <[email protected]> Signed-off-by: Joerg Roedel <[email protected]>
Diffstat (limited to 'scripts/gdb/vmlinux-gdb.py')
0 files changed, 0 insertions, 0 deletions