aboutsummaryrefslogtreecommitdiff
path: root/kernel/pid.c
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-09-26 17:18:27 -0700
commit1b24e0e487698ae239764165495f45401d5930ce (patch)
tree3eb0205873e28019382eb636cb6645f3836d62e2 /kernel/pid.c
parente041da063093c8f0a713b09560dc5bf6985e8a0a (diff)
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> Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Joerg Roedel <joro@8bytes.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/pid.c')
0 files changed, 0 insertions, 0 deletions