{"id":808773,"url":"http://patchwork.ozlabs.org/api/1.2/patches/808773/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-arc/patch/d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com/","project":{"id":48,"url":"http://patchwork.ozlabs.org/api/1.2/projects/48/?format=json","name":"Linux ARC development","link_name":"linux-arc","list_id":"linux-snps-arc.lists.infradead.org","list_email":"linux-snps-arc@lists.infradead.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com>","list_archive_url":null,"date":"2017-09-01T16:05:49","name":"[v3] arc: Re-enable MMU upon a Machine Check exception","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"580b818f0be7b2fb753ad2ccb605ff3984fb7cab","submitter":{"id":68387,"url":"http://patchwork.ozlabs.org/api/1.2/people/68387/?format=json","name":"Jose Abreu","email":"Jose.Abreu@synopsys.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-arc/patch/d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com/mbox/","series":[{"id":1058,"url":"http://patchwork.ozlabs.org/api/1.2/series/1058/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-arc/list/?series=1058","date":"2017-09-01T16:05:49","name":"[v3] arc: Re-enable MMU upon a Machine Check exception","version":3,"mbox":"http://patchwork.ozlabs.org/series/1058/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/808773/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/808773/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org; spf=none (mailfrom)\n\tsmtp.mailfrom=lists.infradead.org (client-ip=65.50.211.133;\n\thelo=bombadil.infradead.org;\n\tenvelope-from=linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"Oo7AZha6\"; \n\tdkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkPHf4xgTz9sRV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 02:06:22 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnoSb-00012u-Bj; Fri, 01 Sep 2017 16:06:21 +0000","from smtprelay2.synopsys.com ([198.182.60.111]\n\thelo=smtprelay.synopsys.com)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnoSY-00011W-EI for linux-snps-arc@lists.infradead.org;\n\tFri, 01 Sep 2017 16:06:19 +0000","from mailhost.synopsys.com (mailhost1.synopsys.com [10.12.238.239])\n\tby smtprelay.synopsys.com (Postfix) with ESMTP id 3D9B810C1392\n\tfor <linux-snps-arc@lists.infradead.org>;\n\tFri,  1 Sep 2017 09:05:58 -0700 (PDT)","from mailhost.synopsys.com (localhost [127.0.0.1])\n\tby mailhost.synopsys.com (Postfix) with ESMTP id 2544437A;\n\tFri,  1 Sep 2017 09:05:58 -0700 (PDT)","from joabreu-VirtualBox.internal.synopsys.com\n\t(joabreu-e7440.internal.synopsys.com [10.107.19.75])\n\tby mailhost.synopsys.com (Postfix) with ESMTP id 0A2EB35E;\n\tFri,  1 Sep 2017 09:05:56 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:\n\tSubject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:\n\tReferences:List-Owner; bh=12yuog4IENi67Yoi1TwA2YEomoHXATj0btbZUWIAQAs=;\n\tb=Oo7\n\tAZha6GASWd3nONljoOVM2V1efG+2Knbwz6oGKQ+zm43TG6B5mNLnueaiRvVHWAysUFycBO5v9i0ry\n\tBtp2hbnCyXJs7+HMHNVsYpfr6pL8XA5r3MlX+c/77V4ugexZoH2LTkOllqUVBnnszXbIEqUQIvU+T\n\tpz1h+cob7wcQ8WYFxbu6bqYTPzSy1HgVWbO7tEi3UqCQeucVk+lD9GlxlxcRIGQsvnHHIGRhg5e1V\n\t03AdBjfGQfAiO9M7uP9xr63TV4ZTZvcojTvUkS1OMPXC4rO62IzOLbe2HNQFOLcUYIBX8MqCbpjex\n\t0tcWpXevo9u5OxX+l8fBna2+1AI36kQ==;","From":"Jose Abreu <Jose.Abreu@synopsys.com>","To":"linux-snps-arc@lists.infradead.org","Subject":"[PATCH v3] arc: Re-enable MMU upon a Machine Check exception","Date":"Fri,  1 Sep 2017 17:05:49 +0100","Message-Id":"<d0f55ba3b94de5c1bb7c93cbadb9829fa6889fed.1504281896.git.joabreu@synopsys.com>","X-Mailer":"git-send-email 1.9.1","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170901_090618_497634_0725BD20 ","X-CRM114-Status":"UNSURE (   7.93  )","X-CRM114-Notice":"Please train this message.","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-1.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [198.182.60.111 listed in list.dnswl.org]\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-snps-arc@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"Linux on Synopsys ARC Processors\n\t<linux-snps-arc.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-snps-arc>, \n\t<mailto:linux-snps-arc-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-snps-arc/>","List-Post":"<mailto:linux-snps-arc@lists.infradead.org>","List-Help":"<mailto:linux-snps-arc-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-snps-arc>, \n\t<mailto:linux-snps-arc-request@lists.infradead.org?subject=subscribe>","Cc":"Jose Abreu <Jose.Abreu@synopsys.com>,\n\tVineet Gupta <Vineet.Gupta1@synopsys.com>,\n\tAlexey Brodkin <Alexey.Brodkin@synopsys.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-snps-arc\" <linux-snps-arc-bounces@lists.infradead.org>","Errors-To":"linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"I recently came upon a scenario where I would get a double fault\nafter a machine check error. It turns out that for Ksymbol lookup\nto work with modules we need to have MMU enabled because module\naddress is mapped in the cached space.\n\nThis patch re-enables the MMU before calling die() so that\nstacktracing of modules work when a machine check exception happens.\n\nSigned-off-by: Jose Abreu <joabreu@synopsys.com>\nCc: Vineet Gupta <vgupta@synopsys.com>\nCc: Alexey Brodkin <abrodkin@synopsys.com>\n\nChanges from v2:\n\t- Rephrased commit title and description\nChanges from v1:\n\t- Moved MMU re-enable to machine check exception handler\n---\n arch/arc/kernel/traps.c | 5 +++++\n 1 file changed, 5 insertions(+)","diff":"diff --git a/arch/arc/kernel/traps.c b/arch/arc/kernel/traps.c\nindex ff83e78..d92f161 100644\n--- a/arch/arc/kernel/traps.c\n+++ b/arch/arc/kernel/traps.c\n@@ -19,6 +19,8 @@\n #include <linux/ptrace.h>\n #include <linux/kprobes.h>\n #include <linux/kgdb.h>\n+#include <asm/arcregs.h>\n+#include <asm/mmu.h>\n #include <asm/setup.h>\n #include <asm/unaligned.h>\n #include <asm/kprobes.h>\n@@ -103,6 +105,9 @@ int do_misaligned_access(unsigned long address, struct pt_regs *regs,\n  */\n void do_machine_check_fault(unsigned long address, struct pt_regs *regs)\n {\n+\t/* MMU must be enabled for Ksymbol lookup in modules */\n+\twrite_aux_reg(ARC_REG_PID, MMU_ENABLE | read_aux_reg(ARC_REG_PID));\n+\n \tdie(\"Machine Check Exception\", regs, address);\n }\n \n","prefixes":["v3"]}