From patchwork Tue Oct 24 11:46:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maninder Singh X-Patchwork-Id: 10024163 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DD44760375 for ; Tue, 24 Oct 2017 11:49:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E0AD023F88 for ; Tue, 24 Oct 2017 11:49:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D425926D08; Tue, 24 Oct 2017 11:49:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 60A6823F88 for ; Tue, 24 Oct 2017 11:49:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:List-Owner; bh=15Q9QstulV1L7W5XwZpNdhyLkUOn2J3P4MaWHb71kjs=; b=sl BLqwBkSGJ1Z27PXgHjhzz58IkStXWRwCdVMfmH/quZDimgyUK3vmigst2X6jWmUIy9SIvrdeVx/Zy c1Nnf/JlF4BsFwUthEQGf6ElkBcwv3Bio7KXO4PTZIUyr0tAm1P7fA+DbqtLEf1ng8nXcjVcKT6L/ XLPs4xHXZY6eL1TCGmgiI885zHXd0MakXEhLalAy2TkMYV2xv/zT2tn8rO8BHTXfxi/hWKQdUnZne VEXrhCsB35/SKK0c0u4iv/rhsrMNio0WBzlpXvFpuu79wHLXz12Ra7yB6RLP+yLXfQWg4Nfsc/ZBg GYcOArE2vfpg3ZQnmu+p2elwEMki5GTw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1e6xi3-0007r9-Nl; Tue, 24 Oct 2017 11:49:27 +0000 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1e6xhv-0007Pv-5K for linux-arm-kernel@lists.infradead.org; Tue, 24 Oct 2017 11:49:25 +0000 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout1.samsung.com (KnoxPortal) with ESMTP id 20171024114854epoutp0173f611da2d1fecb4991824ab52243dd5~wfzN-8fo11683516835epoutp010 for ; Tue, 24 Oct 2017 11:48:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.samsung.com 20171024114854epoutp0173f611da2d1fecb4991824ab52243dd5~wfzN-8fo11683516835epoutp010 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1508845734; bh=lbAZTOZAvIBJvBgqYUl4VOtGoCK8agh14kMlcSqnd1A=; h=From:To:Cc:Subject:Date:References:From; b=kRgm2a0o9GC/2OwZgCABmyiwvjDGsJcAwT3ZMWx0bNSPvLD5y+lNHNnq2Zch0s/lC yKRti/Vi1nkHyxs9dLVFid8hzhB8gR8hetGO2UWeYMKToS6SUBJ4mTf24XFNFZGZbA GTx4Zyeo6xV4Kwjf1GmMob+LSUyXPV3dbc/6fgSg= Received: from epsmges5p3new.samsung.com (unknown [182.195.40.74]) by epcas5p4.samsung.com (KnoxPortal) with ESMTP id 20171024114854epcas5p4df9d59ee7c1bccbb5f8716e458394ea2~wfzNuz7O81450814508epcas5p4s; Tue, 24 Oct 2017 11:48:54 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p3new.samsung.com (Symantec Messaging Gateway) with SMTP id F3.83.04390.5A82FE95; Tue, 24 Oct 2017 20:48:53 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p1.samsung.com (KnoxPortal) with ESMTPA id 20171024114852epcas5p199ffd8d75fc57e46d46025e12180c156~wfzMjLa4R1792617926epcas5p1a; Tue, 24 Oct 2017 11:48:52 +0000 (GMT) Received: from epsmgms1p2new.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20171024114852epsmtrp2335265ec0fca379f4ece395684cd25e7~wfzMh0nTR1312113121epsmtrp2k; Tue, 24 Oct 2017 11:48:52 +0000 (GMT) X-AuditID: b6c32a4b-f03ff70000001126-dd-59ef28a552ad Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 8F.11.03948.4A82FE95; Tue, 24 Oct 2017 20:48:52 +0900 (KST) Received: from localhost.localdomain (unknown [107.108.92.210]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20171024114850epsmtip24a490183b8ccb398c82fc114f3069e10~wfzK5D6kB0620306203epsmtip20; Tue, 24 Oct 2017 11:48:50 +0000 (GMT) From: Maninder Singh To: linux@armlinux.org.uk, mingo@kernel.org, will.deacon@arm.com Subject: [PATCH 1/1] arm/stacktrace: stop unwinding after an invalid address. Date: Tue, 24 Oct 2017 17:16:42 +0530 Message-Id: <1508845602-33508-1-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGKsWRmVeSWpSXmKPExsWy7bCmuu5SjfeRBucnWltc3J1qsenxNVaL y7vmsFkcmrqX0eLw/DYWi9X/TjFa3Huzlcni0Mm5jBYvP55gceD0WDNvDaPH5WsXmT02repk 89i8pN6jb8sqRo/Pm+QC2KJSbTJSE1NSixRS85LzUzLz0m2VvIPjneNNzQwMdQ0tLcyVFPIS c1NtlVx8AnTdMnOAblJSKEvMKQUKBSQWFyvp29kU5ZeWpCpk5BeX2CpFGxoa6RkamOsZGRnp mZjGWhmZApUkpGa0THnOXPCBt+LzpCusDYynuLsYOTgkBEwkjsyw6mLk5BAS2M0o8XUXM4T9 iVHi6B7PLkYuIPsbo0Tb/4tgCZD6Gc2d7BCJvYwS109/g3K+MEo8X3CPFaSKTUBPYtWuPSwg toiAg8SVw1OZQYqYBU4wSpzsfQqWEBbwl+jet5AdxGYRUJX4dH8j2ApeAXeJSY82MEKsk5M4 eWwyK0izhMAMNonW7XOYIBIuEv///2aFsIUlXh3fwg5hS0l8freXDaKhm1Fi2eknTFDdjBIr 7t2D+sJe4sGNo+ygEGAW0JRYv0sfImwr0fLsNBuIzSzAJ9H7G6QXFEi8Eh1tQhAlqhItNzdA 7fWQOHlqGtQ9jhLNB98zg5QLCcRKLPvoOIFRdhbC/AWMjKsYJVMLinPTU4tNC4zzUsv1ihNz i0vz0vWS83M3MYLTmJb3DsZN53wOMQpwMCrx8DaYv4sUYk0sK67MPcQowcGsJMJ7RPh9pBBv SmJlVWpRfnxRaU5q8SFGU2AATmSWEk3OB6bYvJJ4QxNLAxMzM3NDAwNLEyVx3mM7SyOFBNIT S1KzU1MLUotg+pg4OKUaGLW9vDZwcyr9mDPXPej0y+7WdYke+h5pq+dauT6QKfrv2DtjcZTG fp/b0s9KJEXSjI4YN8VFNn885Payt0tn+oH95/4d1O4uKf12Wi/hU+ByRy+5bRueRx9VudU7 tz97nlnx/7CZCvWL3da+zr15pnhmt+M6QaNZbxxkJVOfsa+dlJy7c0bAMSWW4oxEQy3mouJE ABvYz/d5AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFLMWRmVeSWpSXmKPExsWy7bCSvO4SjfeRBrP7tCwu7k612PT4GqvF 5V1z2CwOTd3LaHF4fhuLxep/pxgt7r3ZymRx6ORcRouXH0+wOHB6rJm3htHj8rWLzB6bVnWy eWxeUu/Rt2UVo8fnTXIBbFFcNimpOZllqUX6dglcGS1TnjMXfOCt+DzpCmsD4ynuLkZODgkB E4kZzZ3sXYxcHEICuxkl2k/vYIJISEv8/PeeBcIWllj57zlU0SdGiSXvjzGDJNgE9CRW7doD ViQi4CLRO/02M0gRs8A5Rol9d+aBJYQFfCWWbnkG1sAioCrx6f5GMJtXwF1i0qMNjBAb5CRO HpvMOoGRZwEjwypGydSC4tz03GLDAqO81HK94sTc4tK8dL3k/NxNjOAQ09LawXjiRPwhRgEO RiUe3huW7yKFWBPLiitzDzFKcDArifAeEX4fKcSbklhZlVqUH19UmpNafIhRmoNFSZxXPv9Y pJBAemJJanZqakFqEUyWiYNTqoExf/pMo14Rz864B7v0jBsunl8Z/VVJeGLBsbDHJV1br117 81z2rsimt/yxSXlFVyN/9dVGdb1adPx+GucD9hc7goxSZk1ZW5DAv72XU0Dl3aI+XrYM07X6 z5+/b2+d97DD7JVxrE4c11o3ydTMZI5p5ypPLXHeWvO8usvovirjRK4jsd5HGKOUWIozEg21 mIuKEwElW7X7LQIAAA== X-CMS-MailID: 20171024114852epcas5p199ffd8d75fc57e46d46025e12180c156 X-Msg-Generator: CA X-MTR: 20171024114852epcas5p199ffd8d75fc57e46d46025e12180c156 CMS-TYPE: 105P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20171024114852epcas5p199ffd8d75fc57e46d46025e12180c156 X-RootMTR: 20171024114852epcas5p199ffd8d75fc57e46d46025e12180c156 References: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20171024_044919_646582_CFED7067 X-CRM114-Status: GOOD ( 11.24 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vaneet Narang , a.sahrawat@samsung.com, linux-kernel@vger.kernel.org, Maninder Singh , linux-arm-kernel@lists.infradead.org, pankaj.m@samsung.com MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP This patch stops unwinding backtrace in case of below 2 cases. (Issue observed while porting stackdepot on ARM, duplicate entries created in stackdepot reference patch for workaround in stackdepot:- https://lkml.org/lkml/2017/10/11/353 ). 1. If address belongs to irq/exception code, ignore it. save_stack+0x40/0xec __set_page_owner+0x2c/0x64 .... .... __handle_domain_irq+0x9c/0x130 gic_handle_irq+0x40/0x80 __irq_usr+0x4c/0x60 0xb6507818 ^^^^^^^ 2. If address belongs to junk entry, ignore it kmem_cache_alloc_trace+0x1e8/0x21c rb_allocate_cpu_buffer+0xf0/0x25c __ring_buffer_alloc+0xf8/0x1e0 trace_init+0xe0/0x2cc start_kernel+0x30c/0x448 0x400080a0 ^^^^^^^ Signed-off-by: Maninder Singh Signed-off-by: Vaneet Narang --- arch/arm/kernel/stacktrace.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/arm/kernel/stacktrace.c b/arch/arm/kernel/stacktrace.c index 3a2fa20..80e953e 100644 --- a/arch/arm/kernel/stacktrace.c +++ b/arch/arm/kernel/stacktrace.c @@ -82,6 +82,9 @@ static int save_trace(struct stackframe *frame, void *d) return 0; } + if (!__kernel_text_address(addr)) + return 1; + trace->entries[trace->nr_entries++] = addr; if (trace->nr_entries >= trace->max_entries) @@ -98,12 +101,8 @@ static int save_trace(struct stackframe *frame, void *d) data->last_pc = frame->pc; if (!in_exception_text(addr)) return 0; - - regs = (struct pt_regs *)frame->sp; - - trace->entries[trace->nr_entries++] = regs->ARM_pc; - - return trace->nr_entries >= trace->max_entries; + else + return 1; } /* This must be noinline to so that our skip calculation works correctly */