From: Xiaotian Feng on
reserve_memtype will allocate memory for new memtype, but
in free_memtype, after the memtype erased from rbtree, the
memory is not freed.

Signed-off-by: Xiaotian Feng <dfeng(a)redhat.com>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: "H. Peter Anvin" <hpa(a)zytor.com>
Cc: Venkatesh Pallipadi <venkatesh.pallipadi(a)intel.com>
Cc: Jack Steiner <steiner(a)sgi.com>
Cc: Suresh Siddha <suresh.b.siddha(a)intel.com>
---
arch/x86/mm/pat_rbtree.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/x86/mm/pat_rbtree.c b/arch/x86/mm/pat_rbtree.c
index 07de4cb..fb8c1e5 100644
--- a/arch/x86/mm/pat_rbtree.c
+++ b/arch/x86/mm/pat_rbtree.c
@@ -15,6 +15,7 @@
#include <linux/rbtree.h>
#include <linux/sched.h>
#include <linux/gfp.h>
+#include <linux/slab.h>

#include <asm/pgtable.h>
#include <asm/pat.h>
@@ -240,6 +241,7 @@ int rbt_memtype_erase(u64 start, u64 end)
return -EINVAL;

rb_erase(&data->rb, &memtype_rbroot);
+ kfree(data);
return 0;
}

--
1.7.0.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/