aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2013-06-15 10:27:19 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-13 14:51:06 -0700
commit00dd675556f5c6a17bcba5f7e47c2552daeed84c (patch)
tree9c45f1fde364e28bd061ac1265348ade2a381000 /drivers/block
parent5b31202a3604ef905d0433402aaf8aadf4660774 (diff)
downloadkernel_samsung_smdk4412-00dd675556f5c6a17bcba5f7e47c2552daeed84c.zip
kernel_samsung_smdk4412-00dd675556f5c6a17bcba5f7e47c2552daeed84c.tar.gz
kernel_samsung_smdk4412-00dd675556f5c6a17bcba5f7e47c2552daeed84c.tar.bz2
intel-iommu: Fix leaks in pagetable freeing
commit 3269ee0bd6686baf86630300d528500ac5b516d7 upstream. At best the current code only seems to free the leaf pagetables and the root. If you're unlucky enough to have a large gap (like any QEMU guest with more than 3G of memory), only the first chunk of leaf pagetables are freed (plus the root). This is a massive memory leak. This patch re-writes the pagetable freeing function to use a recursive algorithm and manages to not only free all the pagetables, but does it without any apparent performance loss versus the current broken version. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Cc: stable@vger.kernel.org Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Joerg Roedel <joro@8bytes.org> Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/block')
0 files changed, 0 insertions, 0 deletions