diff for duplicates of <20131001011630.GA21009@lge.com> diff --git a/a/1.txt b/N1/1.txt index 30cb99c..1c075c7 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -38,3 +38,31 @@ Please refer this and merge it. Thanks. ------------------------->8--------------------------------- +>From 9d2ead1800de6e1192824e11dafe68bed7b78cce Mon Sep 17 00:00:00 2001 +From: Joonsoo Kim <iamjoonsoo.kim@lge.com> +Date: Mon, 30 Sep 2013 11:51:54 +0900 +Subject: [PATCH] mm, hugetlb: correct missing private flag clearing + +We should clear the page's private flag when returing the page to +the hugepage pool. Otherwise, marked hugepage can be allocated to +the user who tries to allocate the non-reserved hugepage. If this user +fail to map this hugepage, he would try to return the page to the +hugepage pool. Since this page has a private flag, resv_huge_pages would +mistakenly increase. This patch fixes this situation. + +Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com> + +diff --git a/mm/hugetlb.c b/mm/hugetlb.c +index b49579c..691f226 100644 +--- a/mm/hugetlb.c ++++ b/mm/hugetlb.c +@@ -653,6 +653,7 @@ static void free_huge_page(struct page *page) + BUG_ON(page_count(page)); + BUG_ON(page_mapcount(page)); + restore_reserve = PagePrivate(page); ++ ClearPagePrivate(page); + + spin_lock(&hugetlb_lock); + hugetlb_cgroup_uncharge_page(hstate_index(h), +-- +1.7.9.5 diff --git a/a/content_digest b/N1/content_digest index d4588f8..216e6ce 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -58,6 +58,34 @@ "Please refer this and merge it.\n" "\n" "Thanks.\n" - ------------------------->8--------------------------------- + "------------------------->8---------------------------------\n" + ">From 9d2ead1800de6e1192824e11dafe68bed7b78cce Mon Sep 17 00:00:00 2001\n" + "From: Joonsoo Kim <iamjoonsoo.kim@lge.com>\n" + "Date: Mon, 30 Sep 2013 11:51:54 +0900\n" + "Subject: [PATCH] mm, hugetlb: correct missing private flag clearing\n" + "\n" + "We should clear the page's private flag when returing the page to\n" + "the hugepage pool. Otherwise, marked hugepage can be allocated to\n" + "the user who tries to allocate the non-reserved hugepage. If this user\n" + "fail to map this hugepage, he would try to return the page to the\n" + "hugepage pool. Since this page has a private flag, resv_huge_pages would\n" + "mistakenly increase. This patch fixes this situation.\n" + "\n" + "Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>\n" + "\n" + "diff --git a/mm/hugetlb.c b/mm/hugetlb.c\n" + "index b49579c..691f226 100644\n" + "--- a/mm/hugetlb.c\n" + "+++ b/mm/hugetlb.c\n" + "@@ -653,6 +653,7 @@ static void free_huge_page(struct page *page)\n" + " \tBUG_ON(page_count(page));\n" + " \tBUG_ON(page_mapcount(page));\n" + " \trestore_reserve = PagePrivate(page);\n" + "+\tClearPagePrivate(page);\n" + " \n" + " \tspin_lock(&hugetlb_lock);\n" + " \thugetlb_cgroup_uncharge_page(hstate_index(h),\n" + "-- \n" + 1.7.9.5 -b971e52cb8c1f7ecbb78b47b29fd68b2b9ea88baca516343993a294e8234f0c0 +51b673c30b424b02a9eee6d5316221527c2f592d31f5f495c2e01c342195d5b0
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.