[{"id":1776558,"web_url":"http://patchwork.ozlabs.org/comment/1776558/","msgid":"<13ebce11-eac8-e045-e7d6-283128e132f7@canonical.com>","list_archive_url":null,"date":"2017-09-27T19:19:06","subject":"ACK: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data breakpoints in\n\tRadix mode","submitter":{"id":2898,"url":"http://patchwork.ozlabs.org/api/people/2898/","name":"Stefan Bader","email":"stefan.bader@canonical.com"},"content":"On 27.09.2017 11:32, Joseph Salisbury wrote:\n> From: \"Naveen N. Rao\" <naveen.n.rao@linux.vnet.ibm.com>\n> \n> BugLink: http://bugs.launchpad.net/bugs/1706033\n> \n> On Power9, trying to use data breakpoints throws the splat shown\n> below. This is because the check for a data breakpoint in DSISR is in\n> do_hash_page(), which is not called when in Radix mode.\n> \n>   Unable to handle kernel paging request for data at address 0xc000000000e19218\n>   Faulting instruction address: 0xc0000000001155e8\n>   cpu 0x0: Vector: 300 (Data Access) at [c0000000ef1e7b20]\n>   pc: c0000000001155e8: find_pid_ns+0x48/0xe0\n>   lr: c000000000116ac4: find_task_by_vpid+0x44/0x90\n>   sp: c0000000ef1e7da0\n>   msr: 9000000000009033\n>   dar: c000000000e19218\n>   dsisr: 400000\n> \n> Move the check to handle_page_fault() so as to catch data breakpoints\n> in both Hash and Radix MMU modes.\n> \n> We have to change the check in do_hash_page() against 0xa410 to use\n> 0xa450, so as to include the value of (DSISR_DABRMATCH << 16).\n> \n> There are two sites that call handle_page_fault() when in Radix, both\n> already pass DSISR in r4.\n> \n> Fixes: caca285e5ab4 (\"powerpc/mm/radix: Use STD_MMU_64 to properly isolate hash related code\")\n> Cc: stable@vger.kernel.org # v4.7+\n> Reported-by: Shriya R. Kulkarni <shriykul@in.ibm.com>\n> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>\n> [mpe: Fix the fall-through case on hash, we need to reload DSISR]\n> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>\n> \n> (cherry picked from commit d89ba5353f301971dd7d2f9fdf25c4432728f38e)\n> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>\nAcked-by: Stefan Bader <stefan.bader@canonical.com>\n\n> ---\n>  arch/powerpc/kernel/exceptions-64s.S | 11 +++++++----\n>  1 file changed, 7 insertions(+), 4 deletions(-)\n> \n> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S\n> index 7845613..fa2c6c9 100644\n> --- a/arch/powerpc/kernel/exceptions-64s.S\n> +++ b/arch/powerpc/kernel/exceptions-64s.S\n> @@ -1418,10 +1418,8 @@ USE_TEXT_SECTION()\n>  \t.balign\tIFETCH_ALIGN_BYTES\n>  do_hash_page:\n>  #ifdef CONFIG_PPC_STD_MMU_64\n> -\tandis.\tr0,r4,0xa410\t\t/* weird error? */\n> +\tandis.\tr0,r4,0xa450\t\t/* weird error? */\n>  \tbne-\thandle_page_fault\t/* if not, try to insert a HPTE */\n> -\tandis.  r0,r4,DSISR_DABRMATCH@h\n> -\tbne-    handle_dabr_fault\n>  \tCURRENT_THREAD_INFO(r11, r1)\n>  \tlwz\tr0,TI_PREEMPT(r11)\t/* If we're in an \"NMI\" */\n>  \tandis.\tr0,r0,NMI_MASK@h\t/* (i.e. an irq when soft-disabled) */\n> @@ -1445,11 +1443,16 @@ do_hash_page:\n>  \n>  \t/* Error */\n>  \tblt-\t13f\n> +\n> +\t/* Reload DSISR into r4 for the DABR check below */\n> +\tld      r4,_DSISR(r1)\n>  #endif /* CONFIG_PPC_STD_MMU_64 */\n>  \n>  /* Here we have a page fault that hash_page can't handle. */\n>  handle_page_fault:\n> -11:\tld\tr4,_DAR(r1)\n> +11:\tandis.  r0,r4,DSISR_DABRMATCH@h\n> +\tbne-    handle_dabr_fault\n> +\tld\tr4,_DAR(r1)\n>  \tld\tr5,_DSISR(r1)\n>  \taddi\tr3,r1,STACK_FRAME_OVERHEAD\n>  \tbl\tdo_page_fault\n>","headers":{"Return-Path":"<kernel-team-bounces@lists.ubuntu.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=kernel-team-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)","Received":["from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3y2SL943DDz9t3x;\n\tThu, 28 Sep 2017 05:19:13 +1000 (AEST)","from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1dxHrR-0007KP-OS; Wed, 27 Sep 2017 19:19:09 +0000","from youngberry.canonical.com ([91.189.89.112])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128)\n\t(Exim 4.86_2) (envelope-from <stefan.bader@canonical.com>)\n\tid 1dxHrQ-0007K6-DX\n\tfor kernel-team@lists.ubuntu.com; Wed, 27 Sep 2017 19:19:08 +0000","from rrcs-69-193-151-51.nyc.biz.rr.com ([69.193.151.51]\n\thelo=[10.155.52.21]) by youngberry.canonical.com with esmtpsa\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.76) (envelope-from <stefan.bader@canonical.com>)\n\tid 1dxHrQ-00025n-3M\n\tfor kernel-team@lists.ubuntu.com; Wed, 27 Sep 2017 19:19:08 +0000"],"Subject":"ACK: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data breakpoints in\n\tRadix mode","To":"kernel-team@lists.ubuntu.com","References":"<cover.1506525800.git.joseph.salisbury@canonical.com>\n\t<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","From":"Stefan Bader <stefan.bader@canonical.com>","Message-ID":"<13ebce11-eac8-e045-e7d6-283128e132f7@canonical.com>","Date":"Wed, 27 Sep 2017 15:19:06 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","X-BeenThere":"kernel-team@lists.ubuntu.com","X-Mailman-Version":"2.1.20","Precedence":"list","List-Id":"Kernel team discussions <kernel-team.lists.ubuntu.com>","List-Unsubscribe":"<https://lists.ubuntu.com/mailman/options/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>","List-Archive":"<https://lists.ubuntu.com/archives/kernel-team>","List-Post":"<mailto:kernel-team@lists.ubuntu.com>","List-Help":"<mailto:kernel-team-request@lists.ubuntu.com?subject=help>","List-Subscribe":"<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>","Content-Type":"multipart/mixed;\n\tboundary=\"===============6078308187525413581==\"","Errors-To":"kernel-team-bounces@lists.ubuntu.com","Sender":"\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>"}},{"id":1779582,"web_url":"http://patchwork.ozlabs.org/comment/1779582/","msgid":"<47a3605b-8a36-c865-595b-7546ca941676@canonical.com>","list_archive_url":null,"date":"2017-10-04T09:45:49","subject":"ACK: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data breakpoints in\n\tRadix mode","submitter":{"id":2900,"url":"http://patchwork.ozlabs.org/api/people/2900/","name":"Colin Ian King","email":"colin.king@canonical.com"},"content":"On 27/09/17 16:32, Joseph Salisbury wrote:\n> From: \"Naveen N. Rao\" <naveen.n.rao@linux.vnet.ibm.com>\n> \n> BugLink: http://bugs.launchpad.net/bugs/1706033\n> \n> On Power9, trying to use data breakpoints throws the splat shown\n> below. This is because the check for a data breakpoint in DSISR is in\n> do_hash_page(), which is not called when in Radix mode.\n> \n>   Unable to handle kernel paging request for data at address 0xc000000000e19218\n>   Faulting instruction address: 0xc0000000001155e8\n>   cpu 0x0: Vector: 300 (Data Access) at [c0000000ef1e7b20]\n>   pc: c0000000001155e8: find_pid_ns+0x48/0xe0\n>   lr: c000000000116ac4: find_task_by_vpid+0x44/0x90\n>   sp: c0000000ef1e7da0\n>   msr: 9000000000009033\n>   dar: c000000000e19218\n>   dsisr: 400000\n> \n> Move the check to handle_page_fault() so as to catch data breakpoints\n> in both Hash and Radix MMU modes.\n> \n> We have to change the check in do_hash_page() against 0xa410 to use\n> 0xa450, so as to include the value of (DSISR_DABRMATCH << 16).\n> \n> There are two sites that call handle_page_fault() when in Radix, both\n> already pass DSISR in r4.\n> \n> Fixes: caca285e5ab4 (\"powerpc/mm/radix: Use STD_MMU_64 to properly isolate hash related code\")\n> Cc: stable@vger.kernel.org # v4.7+\n> Reported-by: Shriya R. Kulkarni <shriykul@in.ibm.com>\n> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>\n> [mpe: Fix the fall-through case on hash, we need to reload DSISR]\n> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>\n> \n> (cherry picked from commit d89ba5353f301971dd7d2f9fdf25c4432728f38e)\n> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>\n> ---\n>  arch/powerpc/kernel/exceptions-64s.S | 11 +++++++----\n>  1 file changed, 7 insertions(+), 4 deletions(-)\n> \n> diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S\n> index 7845613..fa2c6c9 100644\n> --- a/arch/powerpc/kernel/exceptions-64s.S\n> +++ b/arch/powerpc/kernel/exceptions-64s.S\n> @@ -1418,10 +1418,8 @@ USE_TEXT_SECTION()\n>  \t.balign\tIFETCH_ALIGN_BYTES\n>  do_hash_page:\n>  #ifdef CONFIG_PPC_STD_MMU_64\n> -\tandis.\tr0,r4,0xa410\t\t/* weird error? */\n> +\tandis.\tr0,r4,0xa450\t\t/* weird error? */\n>  \tbne-\thandle_page_fault\t/* if not, try to insert a HPTE */\n> -\tandis.  r0,r4,DSISR_DABRMATCH@h\n> -\tbne-    handle_dabr_fault\n>  \tCURRENT_THREAD_INFO(r11, r1)\n>  \tlwz\tr0,TI_PREEMPT(r11)\t/* If we're in an \"NMI\" */\n>  \tandis.\tr0,r0,NMI_MASK@h\t/* (i.e. an irq when soft-disabled) */\n> @@ -1445,11 +1443,16 @@ do_hash_page:\n>  \n>  \t/* Error */\n>  \tblt-\t13f\n> +\n> +\t/* Reload DSISR into r4 for the DABR check below */\n> +\tld      r4,_DSISR(r1)\n>  #endif /* CONFIG_PPC_STD_MMU_64 */\n>  \n>  /* Here we have a page fault that hash_page can't handle. */\n>  handle_page_fault:\n> -11:\tld\tr4,_DAR(r1)\n> +11:\tandis.  r0,r4,DSISR_DABRMATCH@h\n> +\tbne-    handle_dabr_fault\n> +\tld\tr4,_DAR(r1)\n>  \tld\tr5,_DSISR(r1)\n>  \taddi\tr3,r1,STACK_FRAME_OVERHEAD\n>  \tbl\tdo_page_fault\n> \nPositive test results.\n\nAcked-by: Colin Ian King <colin.king@canonical.com>","headers":{"Return-Path":"<kernel-team-bounces@lists.ubuntu.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=kernel-team-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)","Received":["from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3y6WHS3qmSz9sNr;\n\tWed,  4 Oct 2017 20:45:56 +1100 (AEDT)","from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1dzgFU-00072s-E6; Wed, 04 Oct 2017 09:45:52 +0000","from youngberry.canonical.com ([91.189.89.112])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128)\n\t(Exim 4.86_2) (envelope-from <colin.king@canonical.com>)\n\tid 1dzgFT-000728-0a\n\tfor kernel-team@lists.ubuntu.com; Wed, 04 Oct 2017 09:45:51 +0000","from 1.general.cking.uk.vpn ([10.172.193.212])\n\tby youngberry.canonical.com with esmtpsa\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.76) (envelope-from <colin.king@canonical.com>)\n\tid 1dzgFS-0000n9-O0; Wed, 04 Oct 2017 09:45:50 +0000"],"Subject":"ACK: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data breakpoints in\n\tRadix mode","To":"kernel-team@lists.ubuntu.com","References":"<cover.1506525800.git.joseph.salisbury@canonical.com>\n\t<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","From":"Colin Ian King <colin.king@canonical.com>","Message-ID":"<47a3605b-8a36-c865-595b-7546ca941676@canonical.com>","Date":"Wed, 4 Oct 2017 10:45:49 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.8.0","MIME-Version":"1.0","In-Reply-To":"<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","X-BeenThere":"kernel-team@lists.ubuntu.com","X-Mailman-Version":"2.1.20","Precedence":"list","List-Id":"Kernel team discussions <kernel-team.lists.ubuntu.com>","List-Unsubscribe":"<https://lists.ubuntu.com/mailman/options/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>","List-Archive":"<https://lists.ubuntu.com/archives/kernel-team>","List-Post":"<mailto:kernel-team@lists.ubuntu.com>","List-Help":"<mailto:kernel-team-request@lists.ubuntu.com?subject=help>","List-Subscribe":"<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"kernel-team-bounces@lists.ubuntu.com","Sender":"\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>"}},{"id":1782915,"web_url":"http://patchwork.ozlabs.org/comment/1782915/","msgid":"<20171009144713.urewzcqc3bqidvla@calabresa>","list_archive_url":null,"date":"2017-10-09T14:47:13","subject":"APPLIED: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data\n\tbreakpoints in Radix mode","submitter":{"id":70574,"url":"http://patchwork.ozlabs.org/api/people/70574/","name":"Thadeu Lima de Souza Cascardo","email":"cascardo@canonical.com"},"content":"Applied to zesty master-next branch.\n\nThanks.\nCascardo.\n\nApplied-to: zesty/master-next","headers":{"Return-Path":"<kernel-team-bounces@lists.ubuntu.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=kernel-team-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)","Received":["from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3y9jl058fjz9tXv;\n\tTue, 10 Oct 2017 01:47:24 +1100 (AEDT)","from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1e1ZKx-0008O1-BD; Mon, 09 Oct 2017 14:47:19 +0000","from youngberry.canonical.com ([91.189.89.112])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128)\n\t(Exim 4.86_2) (envelope-from <cascardo@canonical.com>)\n\tid 1e1ZKw-0008Np-6t\n\tfor kernel-team@lists.ubuntu.com; Mon, 09 Oct 2017 14:47:18 +0000","from [177.94.55.56] (helo=calabresa)\n\tby youngberry.canonical.com with esmtpsa\n\t(TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.76) (envelope-from <cascardo@canonical.com>)\n\tid 1e1ZKv-0003Ie-Hl; Mon, 09 Oct 2017 14:47:18 +0000"],"Date":"Mon, 9 Oct 2017 11:47:13 -0300","From":"Thadeu Lima de Souza Cascardo <cascardo@canonical.com>","To":"Joseph Salisbury <joseph.salisbury@canonical.com>","Subject":"APPLIED: [SRU][Zesty][PATCH 1/1] powerpc/64s: Handle data\n\tbreakpoints in Radix mode","Message-ID":"<20171009144713.urewzcqc3bqidvla@calabresa>","References":"<cover.1506525800.git.joseph.salisbury@canonical.com>\n\t<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<7622ee313f20fbae58cfa0b880f9d27dd1a9a10b.1506525800.git.joseph.salisbury@canonical.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","X-BeenThere":"kernel-team@lists.ubuntu.com","X-Mailman-Version":"2.1.20","Precedence":"list","List-Id":"Kernel team discussions <kernel-team.lists.ubuntu.com>","List-Unsubscribe":"<https://lists.ubuntu.com/mailman/options/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>","List-Archive":"<https://lists.ubuntu.com/archives/kernel-team>","List-Post":"<mailto:kernel-team@lists.ubuntu.com>","List-Help":"<mailto:kernel-team-request@lists.ubuntu.com?subject=help>","List-Subscribe":"<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n\t<mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>","Cc":"kernel-team@lists.ubuntu.com","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"kernel-team-bounces@lists.ubuntu.com","Sender":"\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>"}}]