summaryrefslogtreecommitdiffstats
path: root/lib/string_helpers.c
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2014-06-02 15:58:25 +0200
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2014-06-20 22:04:32 +0200
commit8e0629c1d4ce86ce7d98ca8756f42769bb17a3c8 (patch)
tree3b82fe0fc81f5d2671bf3a33667422e1f36ea93e /lib/string_helpers.c
parentLinux 3.16-rc1 (diff)
downloadlinux-8e0629c1d4ce86ce7d98ca8756f42769bb17a3c8.tar.xz
linux-8e0629c1d4ce86ce7d98ca8756f42769bb17a3c8.zip
swiotlb: don't assume PA 0 is invalid
In 2.6.29 io_tlb_orig_addr[] got converted from storing virtual addresses to storing physical ones. While checking virtual addresses against NULL is a legitimate thing to catch invalid entries, checking physical ones against zero isn't: There's no guarantee that PFN 0 is reserved on a particular platform. Since it is unclear whether the check in swiotlb_tbl_unmap_single() is actually needed, retain it but check against a guaranteed invalid physical address. This requires setting up the array in a suitable fashion. And since the original code failed to invalidate array entries when regions get unmapped, this is being fixed at once along with adding a similar check to swiotlb_tbl_sync_single(). Obviously the less intrusive change would be to simply drop the check in swiotlb_tbl_unmap_single(). Signed-off-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'lib/string_helpers.c')
0 files changed, 0 insertions, 0 deletions