diff for duplicates of <20160405190547.GA12673@us.ibm.com> diff --git a/a/1.txt b/N1/1.txt index 1b9d9ff..8b13789 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,43 +1 @@ ->From f7b73c6b4508fe9b141a43d92be2f9dd7d3c4a58 Mon Sep 17 00:00:00 2001 -From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> -Date: Thu, 24 Mar 2016 02:07:57 -0400 -Subject: [PATCH 1/1] powerpc/mm: Add memory barrier in __hugepte_alloc() -__hugepte_alloc() uses kmem_cache_zalloc() to allocate a zeroed PTE -and proceeds to use the newly allocated PTE. Add a memory barrier to -make sure that the other CPUs see a properly initialized PTE. - -Based on a fix suggested by James Dykman. - -Reported-by: James Dykman <jdykman@us.ibm.com> -Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> -Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com> -Tested-by: James Dykman <jdykman@us.ibm.com> ---- -Note: - The bug was encountered and fix tested on an older version - of the kernel. Forward porting to mainline. ---- - arch/powerpc/mm/hugetlbpage.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c -index d991b9e..081f679 100644 ---- a/arch/powerpc/mm/hugetlbpage.c -+++ b/arch/powerpc/mm/hugetlbpage.c -@@ -81,6 +81,13 @@ static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp, - if (! new) - return -ENOMEM; - -+ /* -+ * Make sure other cpus find the hugepd set only after a -+ * properly initialized page table is visible to them. -+ * For more details look for comment in __pte_alloc(). -+ */ -+ smp_wmb(); -+ - spin_lock(&mm->page_table_lock); - #ifdef CONFIG_PPC_FSL_BOOK3E - /* --- -1.8.3.1 diff --git a/a/content_digest b/N1/content_digest index e10b2fc..e398f29 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -9,48 +9,5 @@ " Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\0" "\00:1\0" "b\0" - ">From f7b73c6b4508fe9b141a43d92be2f9dd7d3c4a58 Mon Sep 17 00:00:00 2001\n" - "From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>\n" - "Date: Thu, 24 Mar 2016 02:07:57 -0400\n" - "Subject: [PATCH 1/1] powerpc/mm: Add memory barrier in __hugepte_alloc()\n" - "\n" - "__hugepte_alloc() uses kmem_cache_zalloc() to allocate a zeroed PTE\n" - "and proceeds to use the newly allocated PTE. Add a memory barrier to\n" - "make sure that the other CPUs see a properly initialized PTE.\n" - "\n" - "Based on a fix suggested by James Dykman.\n" - "\n" - "Reported-by: James Dykman <jdykman@us.ibm.com>\n" - "Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>\n" - "Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>\n" - "Tested-by: James Dykman <jdykman@us.ibm.com>\n" - "---\n" - "Note:\n" - "\tThe bug was encountered and fix tested on an older version\n" - "\tof the kernel. Forward porting to mainline.\n" - "---\n" - " arch/powerpc/mm/hugetlbpage.c | 7 +++++++\n" - " 1 file changed, 7 insertions(+)\n" - "\n" - "diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c\n" - "index d991b9e..081f679 100644\n" - "--- a/arch/powerpc/mm/hugetlbpage.c\n" - "+++ b/arch/powerpc/mm/hugetlbpage.c\n" - "@@ -81,6 +81,13 @@ static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp,\n" - " \tif (! new)\n" - " \t\treturn -ENOMEM;\n" - " \n" - "+\t/*\n" - "+\t * Make sure other cpus find the hugepd set only after a\n" - "+\t * properly initialized page table is visible to them.\n" - "+\t * For more details look for comment in __pte_alloc().\n" - "+\t */\n" - "+\tsmp_wmb();\n" - "+\n" - " \tspin_lock(&mm->page_table_lock);\n" - " #ifdef CONFIG_PPC_FSL_BOOK3E\n" - " \t/*\n" - "-- \n" - 1.8.3.1 -d4a705124b9886418b46849013c2196558543e270f9949578cbf2e6603a796a6 +af07198054e64b810648e1cff23c41e47100b5500b831f34de5f2c7714332766
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.