diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-19 07:36:28 -0700 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-09-19 07:36:28 -0700 |
commit | 59c36286b74ae6a8adebf6e133a83d7f2e3e6704 (patch) | |
tree | ad6d608b560dc540330bdcc89e8702ac85993174 /ipc | |
parent | 2ebe31513fcbe7a781f27002f065b50ae195022f (diff) | |
download | lwn-59c36286b74ae6a8adebf6e133a83d7f2e3e6704.tar.gz lwn-59c36286b74ae6a8adebf6e133a83d7f2e3e6704.zip |
intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}()
If end_pfn is equal to (unsigned long)-1, then the loop will never end.
Seen on 32-bit kernel, but could have happened on 64-bit too once we get
hardware that supports 64-bit guest addresses.
Change both functions to a 'do {} while' loop with the test at the end,
and check for the PFN having wrapper round to zero.
Reported-by: Benjamin LaHaise <ben.lahaise@neterion.com>
Tested-by: Benjamin LaHaise <ben.lahaise@neterion.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions