From c219d48844060235946e08e9f107e54069360ea9 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 25 Jul 2012 15:30:12 -0700 Subject: [PATCH] 3.0-stable patches added patches: mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch --- ...lloc_huge_page-dequeue_huge_page_vma.patch | 47 +++++++++++++++++++ queue-3.0/series | 1 + 2 files changed, 48 insertions(+) create mode 100644 queue-3.0/mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch diff --git a/queue-3.0/mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch b/queue-3.0/mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch new file mode 100644 index 00000000000..aaddc46f253 --- /dev/null +++ b/queue-3.0/mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch @@ -0,0 +1,47 @@ +From b1c12cbcd0a02527c180a862e8971e249d3b347d Mon Sep 17 00:00:00 2001 +From: Konstantin Khlebnikov +Date: Wed, 25 Apr 2012 16:01:46 -0700 +Subject: mm/hugetlb: fix warning in alloc_huge_page/dequeue_huge_page_vma + +From: Konstantin Khlebnikov + +commit b1c12cbcd0a02527c180a862e8971e249d3b347d upstream. + +Stable note: Not tracked in Bugzilla. [get|put]_mems_allowed() is extremely + expensive and severely impacted page allocator performance. This + is part of a series of patches that reduce page allocator overhead. + +Fix a gcc warning (and bug?) introduced in cc9a6c877 ("cpuset: mm: reduce +large amounts of memory barrier related damage v3") + +Local variable "page" can be uninitialized if the nodemask from vma policy +does not intersects with nodemask from cpuset. Even if it doesn't happens +it is better to initialize this variable explicitly than to introduce +a kernel oops in a weird corner case. + +mm/hugetlb.c: In function `alloc_huge_page': +mm/hugetlb.c:1135:5: warning: `page' may be used uninitialized in this function + +Signed-off-by: Konstantin Khlebnikov +Acked-by: Mel Gorman +Acked-by: David Rientjes +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Mel Gorman +Signed-off-by: Greg Kroah-Hartman + +--- + mm/hugetlb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/mm/hugetlb.c ++++ b/mm/hugetlb.c +@@ -454,7 +454,7 @@ static struct page *dequeue_huge_page_vm + struct vm_area_struct *vma, + unsigned long address, int avoid_reserve) + { +- struct page *page; ++ struct page *page = NULL; + struct mempolicy *mpol; + nodemask_t *nodemask; + struct zonelist *zonelist; diff --git a/queue-3.0/series b/queue-3.0/series index 9809f7617d4..c55e3f65ccc 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -37,3 +37,4 @@ mm-vmscan-convert-global-reclaim-to-per-memcg-lru-lists.patch cpusets-avoid-looping-when-storing-to-mems_allowed-if-one-node-remains-set.patch cpusets-stall-when-updating-mems_allowed-for-mempolicy-or-disjoint-nodemask.patch cpuset-mm-reduce-large-amounts-of-memory-barrier-related-damage-v3.patch +mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch -- 2.47.3