diff for duplicates of <20160126155919.GA28238@arm.com> diff --git a/a/1.txt b/N1/1.txt index 9f66c44..57ceffc 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,7 +1,7 @@ Hi Mika, On Tue, Jan 26, 2016 at 04:59:52PM +0200, mika.penttila@nextfour.com wrote: -> From: Mika Penttila <mika.penttila@nextfour.com> +> From: Mika Penttilä <mika.penttila@nextfour.com> > > This makes the caller set_memory_xx() consistent with x86. > @@ -9,7 +9,7 @@ On Tue, Jan 26, 2016 at 04:59:52PM +0200, mika.penttila@nextfour.com wrote: > lkml.kernel.org/g/<1453125665-26627-1-git-send-email-ard.biesheuvel@linaro.org> > applied. > -> Signed-off-by: Mika Penttila mika.penttila@nextfour.com +> Signed-off-by: Mika Penttilä mika.penttila@nextfour.com > Reviewed-by: Laura Abbott <labbott@redhat.com> > Acked-by: David Rientjes <rientjes@google.com> > @@ -52,3 +52,55 @@ commit message. Does the patch below look ok to you? Will --->8 + +>From 57adec866c0440976c96a4b8f5b59fb411b1cacb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mika=20Penttil=C3=A4?= <mika.penttila@nextfour.com> +Date: Tue, 26 Jan 2016 15:47:25 +0000 +Subject: [PATCH] arm64: mm: avoid calling apply_to_page_range on empty range +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Calling apply_to_page_range with an empty range results in a BUG_ON +from the core code. This can be triggered by trying to load the st_drv +module with CONFIG_DEBUG_SET_MODULE_RONX enabled: + + kernel BUG at mm/memory.c:1874! + Internal error: Oops - BUG: 0 [#1] PREEMPT SMP + Modules linked in: + CPU: 3 PID: 1764 Comm: insmod Not tainted 4.5.0-rc1+ #2 + Hardware name: ARM Juno development board (r0) (DT) + task: ffffffc9763b8000 ti: ffffffc975af8000 task.ti: ffffffc975af8000 + PC is at apply_to_page_range+0x2cc/0x2d0 + LR is at change_memory_common+0x80/0x108 + +This patch fixes the issue by making change_memory_common (called by the +set_memory_* functions) a NOP when numpages == 0, therefore avoiding the +erroneous call to apply_to_page_range and bringing us into line with x86 +and s390. + +Cc: <stable@vger.kernel.org> +Reviewed-by: Laura Abbott <labbott@redhat.com> +Acked-by: David Rientjes <rientjes@google.com> +Signed-off-by: Mika Penttilä <mika.penttila@nextfour.com> +Signed-off-by: Will Deacon <will.deacon@arm.com> +--- + arch/arm64/mm/pageattr.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c +index 3571c7309c5e..cf6240741134 100644 +--- a/arch/arm64/mm/pageattr.c ++++ b/arch/arm64/mm/pageattr.c +@@ -57,6 +57,9 @@ static int change_memory_common(unsigned long addr, int numpages, + if (end < MODULES_VADDR || end >= MODULES_END) + return -EINVAL; + ++ if (!numpages) ++ return 0; ++ + data.set_mask = set_mask; + data.clear_mask = clear_mask; + +-- +2.1.4 diff --git a/a/content_digest b/N1/content_digest index 041bc8c..ebff452 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -13,7 +13,7 @@ "Hi Mika,\n" "\n" "On Tue, Jan 26, 2016 at 04:59:52PM +0200, mika.penttila@nextfour.com wrote:\n" - "> From: Mika Penttila <mika.penttila@nextfour.com>\n" + "> From: Mika Penttil\303\244 <mika.penttila@nextfour.com>\n" "> \n" "> This makes the caller set_memory_xx() consistent with x86.\n" "> \n" @@ -21,7 +21,7 @@ "> lkml.kernel.org/g/<1453125665-26627-1-git-send-email-ard.biesheuvel@linaro.org>\n" "> applied.\n" "> \n" - "> Signed-off-by: Mika Penttila mika.penttila@nextfour.com\n" + "> Signed-off-by: Mika Penttil\303\244 mika.penttila@nextfour.com\n" "> Reviewed-by: Laura Abbott <labbott@redhat.com>\n" "> Acked-by: David Rientjes <rientjes@google.com>\n" "> \n" @@ -63,6 +63,58 @@ "\n" "Will\n" "\n" - --->8 + "--->8\n" + "\n" + ">From 57adec866c0440976c96a4b8f5b59fb411b1cacb Mon Sep 17 00:00:00 2001\n" + "From: =?UTF-8?q?Mika=20Penttil=C3=A4?= <mika.penttila@nextfour.com>\n" + "Date: Tue, 26 Jan 2016 15:47:25 +0000\n" + "Subject: [PATCH] arm64: mm: avoid calling apply_to_page_range on empty range\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + "\n" + "Calling apply_to_page_range with an empty range results in a BUG_ON\n" + "from the core code. This can be triggered by trying to load the st_drv\n" + "module with CONFIG_DEBUG_SET_MODULE_RONX enabled:\n" + "\n" + " kernel BUG at mm/memory.c:1874!\n" + " Internal error: Oops - BUG: 0 [#1] PREEMPT SMP\n" + " Modules linked in:\n" + " CPU: 3 PID: 1764 Comm: insmod Not tainted 4.5.0-rc1+ #2\n" + " Hardware name: ARM Juno development board (r0) (DT)\n" + " task: ffffffc9763b8000 ti: ffffffc975af8000 task.ti: ffffffc975af8000\n" + " PC is at apply_to_page_range+0x2cc/0x2d0\n" + " LR is at change_memory_common+0x80/0x108\n" + "\n" + "This patch fixes the issue by making change_memory_common (called by the\n" + "set_memory_* functions) a NOP when numpages == 0, therefore avoiding the\n" + "erroneous call to apply_to_page_range and bringing us into line with x86\n" + "and s390.\n" + "\n" + "Cc: <stable@vger.kernel.org>\n" + "Reviewed-by: Laura Abbott <labbott@redhat.com>\n" + "Acked-by: David Rientjes <rientjes@google.com>\n" + "Signed-off-by: Mika Penttil\303\244 <mika.penttila@nextfour.com>\n" + "Signed-off-by: Will Deacon <will.deacon@arm.com>\n" + "---\n" + " arch/arm64/mm/pageattr.c | 3 +++\n" + " 1 file changed, 3 insertions(+)\n" + "\n" + "diff --git a/arch/arm64/mm/pageattr.c b/arch/arm64/mm/pageattr.c\n" + "index 3571c7309c5e..cf6240741134 100644\n" + "--- a/arch/arm64/mm/pageattr.c\n" + "+++ b/arch/arm64/mm/pageattr.c\n" + "@@ -57,6 +57,9 @@ static int change_memory_common(unsigned long addr, int numpages,\n" + " \tif (end < MODULES_VADDR || end >= MODULES_END)\n" + " \t\treturn -EINVAL;\n" + " \n" + "+\tif (!numpages)\n" + "+\t\treturn 0;\n" + "+\n" + " \tdata.set_mask = set_mask;\n" + " \tdata.clear_mask = clear_mask;\n" + " \n" + "-- \n" + 2.1.4 -67e101cf336c3f5bebe449533f67933c7168d83d24c2c3d3da302599d0bedf9f +36e4a38beb9b62c8663b3234d7b6fb5f02330640c347ba081fae1e9930bbdb8e
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.