Commit-ID: 6a4f3b523779b67e7d560ed42652f8a59f2f9782 Gitweb: http://git.kernel.org/tip/6a4f3b523779b67e7d560ed42652f8a59f2f9782 Author: Venkatesh Pallipadi <venki@xxxxxxxxxx> AuthorDate: Thu, 10 Jun 2010 17:45:01 -0700 Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> CommitDate: Fri, 11 Jun 2010 14:12:22 -0700 x86, pat: Proper init of memtype subtree_max_end subtree_max_end that was recently added to struct memtype was not getting properly initialized resulting in WARNING: kmemcheck: Caught 64-bit read from uninitialized memory in memtype_rb_augment_cb() reported here https://bugzilla.kernel.org/show_bug.cgi?id=16092 This change fixes the problem. Reported-by: Christian Casteyde <casteyde.christian@xxxxxxx> Tested-by: Christian Casteyde <casteyde.christian@xxxxxxx> Signed-off-by: Venkatesh Pallipadi <venki@xxxxxxxxxx> LKML-Reference: <1276217101-11515-1-git-send-email-venki@xxxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Suresh Siddha <suresh.b.siddha@xxxxxxxxx> --- arch/x86/mm/pat.c | 2 +- arch/x86/mm/pat_rbtree.c | 1 + 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c index acc15b2..64121a1 100644 --- a/arch/x86/mm/pat.c +++ b/arch/x86/mm/pat.c @@ -302,7 +302,7 @@ int reserve_memtype(u64 start, u64 end, unsigned long req_type, return -EINVAL; } - new = kmalloc(sizeof(struct memtype), GFP_KERNEL); + new = kzalloc(sizeof(struct memtype), GFP_KERNEL); if (!new) return -ENOMEM; diff --git a/arch/x86/mm/pat_rbtree.c b/arch/x86/mm/pat_rbtree.c index f537087..f20eeec 100644 --- a/arch/x86/mm/pat_rbtree.c +++ b/arch/x86/mm/pat_rbtree.c @@ -226,6 +226,7 @@ int rbt_memtype_check_insert(struct memtype *new, unsigned long *ret_type) if (ret_type) new->type = *ret_type; + new->subtree_max_end = new->end; memtype_rb_insert(&memtype_rbroot, new); } return err; -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html