]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jul 2012 22:30:12 +0000 (15:30 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Jul 2012 22:30:12 +0000 (15:30 -0700)
added patches:
mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch

queue-3.0/mm-hugetlb-fix-warning-in-alloc_huge_page-dequeue_huge_page_vma.patch [new file with mode: 0644]
queue-3.0/series

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 (file)
index 0000000..aaddc46
--- /dev/null
@@ -0,0 +1,47 @@
+From b1c12cbcd0a02527c180a862e8971e249d3b347d Mon Sep 17 00:00:00 2001
+From: Konstantin Khlebnikov <khlebnikov@openvz.org>
+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 <khlebnikov@openvz.org>
+
+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 <khlebnikov@openvz.org>
+Acked-by: Mel Gorman <mgorman@suse.de>
+Acked-by: David Rientjes <rientjes@google.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Mel Gorman <mgorman@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;
index 9809f7617d47553a2385bcdc855d44c7f2172173..c55e3f65ccc67f307b8d051e85310ee1d1b41318 100644 (file)
@@ -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