From patchwork Tue Mar 16 10:37:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maninder Singh X-Patchwork-Id: 12141753 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0FA38C433E0 for ; Tue, 16 Mar 2021 10:39:11 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9A47764FD1 for ; Tue, 16 Mar 2021 10:39:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9A47764FD1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:Message-Id:Date:Subject:Cc: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=7HfdpC2ar39Hm8/i39cqzwH85I0Prb688HxmKOag+74=; b=g1szSPoS0MCIaqxN2Ed51XcmYi udDaUozM+XoCqMWIGShG3gctTE/Ml6s84mB872ElLL3cwys6yJVNP7mkaaKakKNdICws5hIYFWM5m TGz1jg7xvZy8ny8vXCQOxoAEjsKb3yeQQ3gKdzxEwHwlJQBXfgkRq4ZfkpqJ5WEYc3cMa66bSzRwb YKiN5rdtg9F+o+Rd8xumHll2mlbAHFkT0RelJYXRK8bBS4GeDhhfGMkz122nCHGwDTFXlxZIZrFQ8 ugOaAfTAPm/NQkSPsPwj/Ii4nmTGFaBm8SBPwS1J1lVaDHQo5CLHGf8xFemwKSm/apmByTIBIrKOL K99QumuA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lM75A-000Q7w-KC; Tue, 16 Mar 2021 10:37:48 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lM754-000Q6b-Pk for linux-arm-kernel@lists.infradead.org; Tue, 16 Mar 2021 10:37:46 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20210316103738epoutp02a371a5c4273a779afcac9a62ad8dd4bb~szFs4vGTB1012710127epoutp02U for ; Tue, 16 Mar 2021 10:37:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20210316103738epoutp02a371a5c4273a779afcac9a62ad8dd4bb~szFs4vGTB1012710127epoutp02U DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1615891058; bh=zVp1lULJSzJzWkT0nt/+4XoH7dIWFg42lLkd8R1wp5M=; h=From:To:Cc:Subject:Date:References:From; b=UmX7utGZIqoKX+lXX9IpyfIpF5Qu4jXli/tYl3Pl0SZJgdSdnaCrrPU1bAfmADi3X kelCgVH4zocRHv1p+NLj4ZQlXE2rlW8lSnDCLvZA4Ya/dAC8lZAutEA6FdtX01CC9G UDmsf9kOL06mSOO4S/m1t6WoGSt6PHK3qJRvV6ak= Received: from epsmges5p2new.samsung.com (unknown [182.195.42.74]) by epcas5p3.samsung.com (KnoxPortal) with ESMTP id 20210316103737epcas5p357826eb7590176980dd7ac29ddd09223~szFsI7qKb0250502505epcas5p3N; Tue, 16 Mar 2021 10:37:37 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 78.75.50652.17A80506; Tue, 16 Mar 2021 19:37:37 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p1.samsung.com (KnoxPortal) with ESMTPA id 20210316103723epcas5p1f750d5cfe029fa69aea8d88f0bd408f3~szFfVwOEq2891628916epcas5p1p; Tue, 16 Mar 2021 10:37:23 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20210316103723epsmtrp27a6724ac6f9dfdeed34fceba9b3a48fd~szFfUDvU12017920179epsmtrp2M; Tue, 16 Mar 2021 10:37:23 +0000 (GMT) X-AuditID: b6c32a4a-6c9ff7000000c5dc-d7-60508a718347 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 7B.07.08745.36A80506; Tue, 16 Mar 2021 19:37:23 +0900 (KST) Received: from localhost.localdomain (unknown [107.109.224.44]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20210316103720epsmtip11d45f7ad1d964ea47973eb8b3682fff1~szFceVOpc3148731487epsmtip1p; Tue, 16 Mar 2021 10:37:20 +0000 (GMT) From: Maninder Singh To: paulmck@kernel.org, linux@armlinux.org.uk, cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, vbabka@suse.cz, 0x7f454c46@gmail.com, viro@zeniv.linux.org.uk Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, a.sahrawat@samsung.com, Maninder Singh , Vaneet Narang Subject: [PATCH 1/3] mm/slub: fixing backtrace of objects because of redzone adjustment Date: Tue, 16 Mar 2021 16:07:10 +0530 Message-Id: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 2.7.4 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrHKsWRmVeSWpSXmKPExsWy7bCmum5hV0CCwb3jihYTpr1gsbi4O9Vi zvo1bBbXv71htFjZ3cxmsenxNVaLy7vmsFncW/Of1eLQ1L2MFofnt7FYfFryjcWi7fM/Vou2 JRuZLA6dnMtoMbuxj9Hi/N/jrA4CHpevXWT22DnrLrvHgk2lHptWdbJ5bPo0id2j6+0VJo8T M36zeDy5Mp3JY/OSeo++LasYPc4sOMLu8XmTnMemJ2+ZAnijuGxSUnMyy1KL9O0SuDL+9b9k L2gUrHi3YTFbA+NK3i5GTg4JAROJDRN3MXUxcnEICexmlNjVdJUZwvnEKHH9YSuU85lR4svW ViaYlt0vD7FAJHYxSnTu3Q5V9QXIufqMEaSKTUBPYtWuPSwgtojAHUaJR40lIEXMAscYJX6e 3Q+WEBaIlHhy/DWYzSKgKvHgxwZmEJtXwF1i040nrBDr5CRunusE2yAhsJJDoqFrITNEwkXi cNc/qJuEJV4d38IOYUtJfH63lw2ioZtRYuacy1DdqxklNr24DjXWXuJ1cwNQNwfQTZoS63fp Q4RlJaaeWgc2lFmAT6L39xOoBbwSO+bB2KoSLTc3QI2Rlvj88SMLhO0h8X/9PbDjhARiJS6u usoygVF2FsKGBYyMqxglUwuKc9NTi00LjPJSy/WKE3OLS/PS9ZLzczcxgpOUltcOxocPPugd YmTiYDzEKMHBrCTCa5oXkCDEm5JYWZValB9fVJqTWnyIUZqDRUmcd4fBg3ghgfTEktTs1NSC 1CKYLBMHp1QD0z62SjO/OK7P8ml2X6NCJpTe+HLB7Yx0DPMcla4y7xn8qx0Nwt4qz5pwM+Np ghZn3t57Z08a9J93W5ouaGgZwbneYP29+tvrZpa3VRRM359XUKd0zPAAs7RBFdenjzKrn3f8 jpv7uXHPiT33OMWM3ZcIXOo6xeEVVm+n6v5u/luD5IPbNnC+yJ/w6r5T8rtHlm7XOw3LHBtT 8hPlgkJVHi0tn3RNm3/7i4PLZDudFnXd7hM/HcI4tWtfk0vnhQq72n3iau6y+YlbC8KPsN2L y3ryRPxq/x8nzv0Hy086Mx82e++4hOuIT17BmoKSyXk5xpzTp8uuLozw3NH5Rbhmg53v5Ab5 t1xZyzIy8yYpsRRnJBpqMRcVJwIADJC1xMEDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsWy7bCSnG5yV0CCQcMLPYsJ016wWFzcnWox Z/0aNovr394wWqzsbmaz2PT4GqvF5V1z2CzurfnPanFo6l5Gi8Pz21gsPi35xmLR9vkfq0Xb ko1MFodOzmW0mN3Yx2hx/u9xVgcBj8vXLjJ77Jx1l91jwaZSj02rOtk8Nn2axO7R9fYKk8eJ Gb9ZPJ5cmc7ksXlJvUffllWMHmcWHGH3+LxJzmPTk7dMAbxRXDYpqTmZZalF+nYJXBn/+l+y FzQKVrzbsJitgXElbxcjJ4eEgInE7peHWLoYuTiEBHYwSvx7fZwNIiEt8fPfexYIW1hi5b/n 7BBFnxgl5s3fyg6SYBPQk1i1aw9Yt4jAC0aJNXtWMoE4zAJnGCXeXZ0L5HBwCAuES/TciwZp YBFQlXjwYwMziM0r4C6x6cYTVogNchI3z3UyT2DkWcDIsIpRMrWgODc9t9iwwCgvtVyvODG3 uDQvXS85P3cTIzjYtbR2MO5Z9UHvECMTB+MhRgkOZiURXtO8gAQh3pTEyqrUovz4otKc1OJD jNIcLErivBe6TsYLCaQnlqRmp6YWpBbBZJk4OKUamM62rbm5JmtiOI9TecMbvc5nL42dxYx7 OUJrBFTuOLzJzNM7L2/szz5rd29RfPVcN9cZ/vavVfQCVq5ZXPhifroyU31f3Ynw4w+4c9uv yu+e4OhWMoP5TuIU/w0TVzL+nM6/o85h5/EHM2cKWGx5UbPJ7PFtkSe3upZoz5spdtH09/Gs vv8tgW/KXH2bFjHcZPA9cF6nqrrb/LjosxURx/ht7N4u/xN295XxDv6DcRriNaL/s7gqHjL2 FjJ7yXr8Pv2ZIXPvxtOT62eut4kReJzJpB1WrXXq/pwAW6a/PSt3+d85o3O+eePFOu3rPt/m mdRJ33D7e8FKzK351GbLh7O2xM09kaO7Jn6t5a5l6UosxRmJhlrMRcWJAIOIKurlAgAA X-CMS-MailID: 20210316103723epcas5p1f750d5cfe029fa69aea8d88f0bd408f3 X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P X-CMS-RootMailID: 20210316103723epcas5p1f750d5cfe029fa69aea8d88f0bd408f3 References: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210316_103743_630508_B94E44D7 X-CRM114-Status: GOOD ( 12.39 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org fixing commit 8e7f37f2aaa5 ("mm: Add mem_dump_obj() to print source of memory block") with current code, Backtrace of allocated object is coming wrong: / # cat /proc/meminfo [ 14.969843] slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 0 size 64 allocated at 0x6b6b6b6b [ 14.970635] 0x6b6b6b6b [ 14.970794] 0x6b6b6b6b [ 14.970932] 0x6b6b6b6b [ 14.971077] 0x6b6b6b6b [ 14.971202] 0x6b6b6b6b [ 14.971317] 0x6b6b6b6b [ 14.971423] 0x6b6b6b6b [ 14.971635] 0x6b6b6b6b [ 14.971740] 0x6b6b6b6b [ 14.971871] 0x6b6b6b6b [ 14.972229] 0x6b6b6b6b [ 14.972363] 0x6b6b6b6b [ 14.972505] 0xa56b6b6b [ 14.972631] 0xbbbbbbbb [ 14.972734] 0xc8ab0400 [ 14.972891] meminfo_proc_show+0x40/0x4fc And reason is red zone was not adjusted from object address. after adding fixup for redzone, backtrace is coming correct: / # cat /proc/meminfo [ 14.870782] slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 128 size 64 allocated at meminfo_proc_show+0x40/0x4f4 [ 14.871817] meminfo_proc_show+0x40/0x4f4 [ 14.872035] seq_read_iter+0x18c/0x4c4 [ 14.872229] proc_reg_read_iter+0x84/0xac [ 14.872433] generic_file_splice_read+0xe8/0x17c [ 14.872621] splice_direct_to_actor+0xb8/0x290 [ 14.872747] do_splice_direct+0xa0/0xe0 [ 14.872896] do_sendfile+0x2d0/0x438 [ 14.873044] sys_sendfile64+0x12c/0x140 [ 14.873229] ret_fast_syscall+0x0/0x58 [ 14.873372] 0xbe861de4 Signed-off-by: Vaneet Narang Signed-off-by: Maninder Singh Acked-by: Paul E. McKenney Acked-by: Vlastimil Babka --- mm/slub.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/slub.c b/mm/slub.c index 1912c4614248..9d13f0117ae6 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4052,6 +4052,7 @@ void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) !(s->flags & SLAB_STORE_USER)) return; #ifdef CONFIG_SLUB_DEBUG + objp = fixup_red_left(s, objp); trackp = get_track(s, objp, TRACK_ALLOC); kpp->kp_ret = (void *)trackp->addr; #ifdef CONFIG_STACKTRACE From patchwork Tue Mar 16 10:37:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maninder Singh X-Patchwork-Id: 12141771 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99175C433E6 for ; Tue, 16 Mar 2021 10:43:23 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1B2FC64F7F for ; Tue, 16 Mar 2021 10:43:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1B2FC64F7F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wN/BGurV0RZq3i+k0juc7XJzcsYCSZLhY8CT6TaFLX4=; b=nmXjyFlslFx2mFtlBhxO4ugbhB lZ2Gxc3QQqi+IINrybiZZqHLiwGC2W+/RefnQq443fsOty8vX9uTsZ0gJXmnHKvoA9jN5SWvqT3Wc I/yxcfZ/lDJFTxmYSZ0HGI9Ovn7XZHIEEO62I4+YGp6i8cej4Q7WgVS/TTVmqpOwK3wLWaRTJt1xn KTCzaCYZWs613RcB3W7J9WzbbFp9AGGCuCGGoal1hrPx6NNtyR3UlmVxlJ++L0N8xCOMZTiVQS5q6 dJTxpZOCwfavRCBQqeA6h34YSpDXeq+Mcz5WKhFwXWNrIcyaIMd/Pv81NaewMNzi3PSqItVNM1jey 88mDWsJg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lM79J-000Qmt-74; Tue, 16 Mar 2021 10:42:05 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lM79E-000QmG-31 for linux-arm-kernel@lists.infradead.org; Tue, 16 Mar 2021 10:42:02 +0000 Received: from epcas5p2.samsung.com (unknown [182.195.41.40]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20210316104156epoutp02d9f8e15d177a170f5bc56ab454527544~szJdZxXpz1640416404epoutp02D for ; Tue, 16 Mar 2021 10:41:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20210316104156epoutp02d9f8e15d177a170f5bc56ab454527544~szJdZxXpz1640416404epoutp02D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1615891316; bh=AZBqEzrIJ+EQPsQY82SYKnUwBKM6tjji8hOw6zf6MF8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MbFOrMSbNQSShyflQOAE9fNoD7r9gP0WYOEQ3GcH49m2kOQmjz4OZafjqhvIVfAsl 9EgUWZSNJ7QyzMBEopE9b1YDgutba8JVSVuMh+D6YZH8vEHeMSlK0tODi7Oili2d9Z csxnHycTZaOGHWHAgbrf5sZVX1EVRS26a5UMurRg= Received: from epsmges5p2new.samsung.com (unknown [182.195.42.74]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20210316104155epcas5p1cfe2f45e4abb74afd0c0f32bcc3f23cf~szJcS9_If1128311283epcas5p1S; Tue, 16 Mar 2021 10:41:55 +0000 (GMT) Received: from epcas5p1.samsung.com ( [182.195.41.39]) by epsmges5p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 21.86.50652.37B80506; Tue, 16 Mar 2021 19:41:55 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20210316103736epcas5p3758de57b57c732074acc0989e563cc2e~szFrQSoU90709807098epcas5p3h; Tue, 16 Mar 2021 10:37:36 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20210316103736epsmtrp2f433189e0f4e53fde840273718138b3c~szFrOVmg62017920179epsmtrp2Y; Tue, 16 Mar 2021 10:37:36 +0000 (GMT) X-AuditID: b6c32a4a-6b3ff7000000c5dc-78-60508b736409 Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id E1.06.13470.07A80506; Tue, 16 Mar 2021 19:37:36 +0900 (KST) Received: from localhost.localdomain (unknown [107.109.224.44]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20210316103733epsmtip1dce460b74720998e9947118fad745ffa~szFoZg0_83001630016epsmtip1V; Tue, 16 Mar 2021 10:37:33 +0000 (GMT) From: Maninder Singh To: paulmck@kernel.org, linux@armlinux.org.uk, cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, vbabka@suse.cz, 0x7f454c46@gmail.com, viro@zeniv.linux.org.uk Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, a.sahrawat@samsung.com, Maninder Singh , Vaneet Narang Subject: [PATCH 2/3] mm/slub: Add Support for free path information of an object. Date: Tue, 16 Mar 2021 16:07:11 +0530 Message-Id: <1615891032-29160-2-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSbUxTVxjHPffetpeaLieFbQfYcGMgygRFpp4hmfuwlxuyGLaZJepIafCI ZrTU3sKYX1bty0YJDBQELWx1a4grzmqLeimQsdYXXKaToSBWeY9DlAlla8IIupQL2bffef7P //k/5+SwtPKiJI7drzUQvVZdlCiVMxcCa1PS+Irc/A1dTfG4+tgEg3vaCW50n5bi/vBjgH+s MEmxZ6xPgnt9jVI8ePqZBPvrOgEOfGdlcMgZZrB19qkEW53nKOy/1gSw/VAVwL8vXJW8Dbne vh6aaztxX8Y5PCWcx1Uu5TyhIzLONnWL4rob5hlu/FY9xXmdX3JVrS7A/ea4JONmPQmcZ3yK ylXskmfvIUX7S4l+/Vv58n2Tged1llVlNY5OmREMIxuIYhF8A/X0HZbagJxVwnaA/nxqZiKC EoYAOnJ5oyiEARoJnqGWHYM+gRKFToCGzpslouNvgLpCOMJSmI5cvo7FSTHwHkCjhwwRAw2v ADR3/edFIRp+jBqCArABlmVgMpr7mkTKCvg+clQ2LYUloIEb5XSEoyCHGnxuJjIHwW4Weese LDW9gx4++R6IHI0mr7bKRI5Ds391SkVDBUDHG3tp8dACkGeiXyJ2bUOPTEYqsgUN1yK3b71Y fhnV/SpemYbPocr58aUwBRK+XeZkZB44uzQmHs3OzDAic+hxeR8Qn8gOUEtgiK4GCSf+j3AA 4AKxRMdrCgm/SbdRSz5P59UavkRbmF5QrPGAxb+VmiOAkeHpdD+gWOAHiKUTYxSbtLn5SsUe 9RcHib5YpS8pIrwfxLNM4osKYcOwSgkL1QbyGSE6ol9WKTYqzkiteslpLb1+RWW/88+7Krs6 a00BXYZMb67bwi8EjfWfZk66UrJfq755Zos3tjaPBHHjL4K+e3A16d/8UZvmrq7UZLF8qM4p Tjo6nxqNVq5oqPtKPp+WmZOp+MPtndtpxtdamtq4yVrbiMH9zJI0AE9p6HMFXPHCYLhmOjrq sOvh0PZtXV3G9550/HCpYgiOZ9w+O5rcPPNKbNa6zZVHk7em1eTlWmFh9iP65lRz2VbC0q/u zjo4ajo1cSH4gARa4UhtVeXrtpMv/DuQ0n4giRpr+8Zwca8QXGEmcZaOoh3TH3gzPjl29yfV gWaJcFyZNze2EgvOGXv8jVB9zK6wLJHh96kzUmk9r/4PhkxqX8oDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJLMWRmVeSWpSXmKPExsWy7bCSnG5BV0CCwYc3ShYTpr1gsbi4O9Vi zvo1bBbXv71htFjZ3cxmsenxNVaLy7vmsFncW/Of1eLQ1L2MFofnt7FYfFryjcWi7fM/Vou2 JRuZLA6dnMtoMbuxj9Hi/N/jrA4CHpevXWT22DnrLrvHgk2lHptWdbJ5bPo0id2j6+0VJo8T M36zeDy5Mp3JY/OSeo++LasYPc4sOMLu8XmTnMemJ2+ZAnijuGxSUnMyy1KL9O0SuDJeHRYt aJWvmLhgL3sD4wOJLkZODgkBE4l7u3YwdTFycQgJ7GaUWNX4nxEiIS3x8997FghbWGLlv+fs EEWfGCXa2i6CJdgE9CRW7drDApIQEXjBKLFmz0qwUcwCZxgl3l2dywRSJSwQKNE97yxbFyMH B4uAqsTPjlSQMK+Au8SCXogSCQE5iZvnOplBbE4BD4kZu9aDLRACqpn3+jfbBEa+BYwMqxgl UwuKc9Nziw0LDPNSy/WKE3OLS/PS9ZLzczcxgmNDS3MH4/ZVH/QOMTJxMB5ilOBgVhLhNc0L SBDiTUmsrEotyo8vKs1JLT7EKM3BoiTOe6HrZLyQQHpiSWp2ampBahFMlomDU6qBKemI8ZZd Bp0Cc1X07L6wyKRPV3sWdbVV9+1yxlsJ4UvcW/5aRe1zdT+Uz7L4zcoJ5gfunFyjVfDWv1eC d+Opjrl7A3imbm6Uf/KkLmVpQfQxNwOpn6KJ04SDXCc8D3y4VorfN/PBUXdRhv5ptjMvmGfu un1nmdf+LAvl+aExs+5s+fdLWHvzimbh1n8dK/smMEu9MzmcHFAt5bb2itO/Wy/C5J6lnrp0 ZvLOH98lIqJ/cjX6BRYtvCSj8XqDtEzUw0sRf+bYzle8kbz6j0DWNX+bu07r1mvdWrFkr5vc U7dU4Y8XTrxQWKPHJFPqdDBgScryxBU/fEXLFK5xybNP9m09den7yidrfd83TbEUuqDEUpyR aKjFXFScCACxHnsJ/AIAAA== X-CMS-MailID: 20210316103736epcas5p3758de57b57c732074acc0989e563cc2e X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P X-CMS-RootMailID: 20210316103736epcas5p3758de57b57c732074acc0989e563cc2e References: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210316_104200_614639_989C4E7B X-CRM114-Status: GOOD ( 21.09 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adding support for inforamtion of free path along with allocation path of an object: slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 0 size 64 allocated at meminfo_proc_show+0x40/0x4fc [ 20.192078] meminfo_proc_show+0x40/0x4fc [ 20.192263] seq_read_iter+0x18c/0x4c4 [ 20.192430] proc_reg_read_iter+0x84/0xac [ 20.192617] generic_file_splice_read+0xe8/0x17c [ 20.192816] splice_direct_to_actor+0xb8/0x290 [ 20.193008] do_splice_direct+0xa0/0xe0 [ 20.193185] do_sendfile+0x2d0/0x438 [ 20.193345] sys_sendfile64+0x12c/0x140 [ 20.193523] ret_fast_syscall+0x0/0x58 [ 20.193695] 0xbeeacde4 [ 20.193822] Free path: [ 20.193935] meminfo_proc_show+0x5c/0x4fc [ 20.194115] seq_read_iter+0x18c/0x4c4 [ 20.194285] proc_reg_read_iter+0x84/0xac [ 20.194475] generic_file_splice_read+0xe8/0x17c [ 20.194685] splice_direct_to_actor+0xb8/0x290 [ 20.194870] do_splice_direct+0xa0/0xe0 [ 20.195014] do_sendfile+0x2d0/0x438 [ 20.195174] sys_sendfile64+0x12c/0x140 [ 20.195336] ret_fast_syscall+0x0/0x58 [ 20.195491] 0xbeeacde4 Co-developed-by: Vaneet Narang Signed-off-by: Vaneet Narang Signed-off-by: Maninder Singh Acked-by: Vlastimil Babka --- mm/slab.h | 1 + mm/slab_common.c | 12 +++++++++++- mm/slub.c | 7 +++++++ mm/util.c | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/mm/slab.h b/mm/slab.h index c96bca9825d9..e360e3326232 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -644,6 +644,7 @@ struct kmem_obj_info { struct kmem_cache *kp_slab_cache; void *kp_ret; void *kp_stack[KS_ADDRS_COUNT]; + void *kp_free_stack[KS_ADDRS_COUNT]; }; void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page); #endif diff --git a/mm/slab_common.c b/mm/slab_common.c index 4c6107e39f9a..42288db97a52 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c @@ -556,7 +556,7 @@ EXPORT_SYMBOL_GPL(kmem_valid_obj); * depends on the type of object and on how much debugging is enabled. * For a slab-cache object, the fact that it is a slab object is printed, * and, if available, the slab name, return address, and stack trace from - * the allocation of that object. + * the allocation and last free path of that object. * * This function will splat if passed a pointer to a non-slab object. * If you are not sure what type of object you have, you should instead @@ -601,6 +601,16 @@ void kmem_dump_obj(void *object) break; pr_info(" %pS\n", kp.kp_stack[i]); } + + if (kp.kp_free_stack[0]) + pr_cont(" Free path:\n"); + + for (i = 0; i < ARRAY_SIZE(kp.kp_free_stack); i++) { + if (!kp.kp_free_stack[i]) + break; + pr_info(" %pS\n", kp.kp_free_stack[i]); + } + } EXPORT_SYMBOL_GPL(kmem_dump_obj); #endif diff --git a/mm/slub.c b/mm/slub.c index 9d13f0117ae6..a0cb90487b1a 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -4061,6 +4061,13 @@ void kmem_obj_info(struct kmem_obj_info *kpp, void *object, struct page *page) if (!kpp->kp_stack[i]) break; } + + trackp = get_track(s, objp, TRACK_FREE); + for (i = 0; i < KS_ADDRS_COUNT && i < TRACK_ADDRS_COUNT; i++) { + kpp->kp_free_stack[i] = (void *)trackp->addrs[i]; + if (!kpp->kp_free_stack[i]) + break; + } #endif #endif } diff --git a/mm/util.c b/mm/util.c index 143c627fb3e8..9d69ca30514a 100644 --- a/mm/util.c +++ b/mm/util.c @@ -993,7 +993,7 @@ int __weak memcmp_pages(struct page *page1, struct page *page2) * depends on the type of object and on how much debugging is enabled. * For example, for a slab-cache object, the slab name is printed, and, * if available, the return address and stack trace from the allocation - * of that object. + * and last free path of that object. */ void mem_dump_obj(void *object) { From patchwork Tue Mar 16 10:37:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maninder Singh X-Patchwork-Id: 12141773 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94302C433E0 for ; Tue, 16 Mar 2021 10:43:38 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0F4B06500C for ; Tue, 16 Mar 2021 10:43:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0F4B06500C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:MIME-Version:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:Cc:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rHHe/ML0g8/UM7Iy8LuiSi0NCjcN+ySnmNx4PxLE4co=; b=Oh6WgNA8zU1W121owV+IC+xLk1 ooaFlhATNWkFUZimCtudGtvrSs6fKzXgE3dSdhDHnaqrAgnA1xSoLkcBlgFQi++pN0wquvIgT4qpX 4rE1fTF0SFkPdlpeAuke6jD5G9aLVN+qjP0Q2TaBGPB7U5N3oEKTupgpxS/e2qNDC4aVbkqrXU9u0 zcRf/yS+uZ07+BXRUMSVr/D88pKY6SzbM9OCAB9wYOCa/gowSkOpVBo4wlVWmpbGO9S3OavIFdpGt TLUq9dmFu0UoRqp6mWVxmYDCQCv/OJboE5hXWo5/4VVATFdzS0ekmo92E1W/0ruZ4UYOrzIG8+jaF 8yGfCwKg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lM79W-000QpU-WC; Tue, 16 Mar 2021 10:42:19 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lM79P-000Qnx-9w for linux-arm-kernel@lists.infradead.org; Tue, 16 Mar 2021 10:42:14 +0000 Received: from epcas5p1.samsung.com (unknown [182.195.41.39]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20210316104204epoutp03a93f6ec6dd56f1d01276546847659830~szJkqCBpm1921119211epoutp03R for ; Tue, 16 Mar 2021 10:42:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20210316104204epoutp03a93f6ec6dd56f1d01276546847659830~szJkqCBpm1921119211epoutp03R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1615891324; bh=44oltOHh00cZrfJITia/CNyT4nk6c4K1PXacEE+BPn0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q1BFXYkVnDhzb9dFYd+K8QbKd5kZbXQg5NAHla97qF3hviKfBvPeCwjNqf1p5PCGv LSsRAwJltgNUZP0JVLgjgJc7TqT6Z6PsEZ4SbaqBmc/xre84ovWPmpwtqKMH8Lsa4n rGmIVu2AXilh4ANR76Xi/rCUwkuMq+rIA1DWdJ84= Received: from epsmges5p1new.samsung.com (unknown [182.195.42.73]) by epcas5p1.samsung.com (KnoxPortal) with ESMTP id 20210316104203epcas5p12c0758a80da525df614f7df5bd027c38~szJjpPNAe1114111141epcas5p14; Tue, 16 Mar 2021 10:42:03 +0000 (GMT) Received: from epcas5p3.samsung.com ( [182.195.41.41]) by epsmges5p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 2A.14.15682.B7B80506; Tue, 16 Mar 2021 19:42:03 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas5p3.samsung.com (KnoxPortal) with ESMTPA id 20210316103745epcas5p3994f29958b7f14aec8cbd90fa518761f~szFzprZ_A1658216582epcas5p3y; Tue, 16 Mar 2021 10:37:45 +0000 (GMT) Received: from epsmgms1p2.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20210316103745epsmtrp20c3234e34dc33cec89cd1ea364af2cfd~szFzox2N42065620656epsmtrp2D; Tue, 16 Mar 2021 10:37:45 +0000 (GMT) X-AuditID: b6c32a49-8d5ff70000013d42-d0-60508b7b974a Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 94.17.08745.97A80506; Tue, 16 Mar 2021 19:37:45 +0900 (KST) Received: from localhost.localdomain (unknown [107.109.224.44]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20210316103742epsmtip117cf63bb98ac9af542f935f3ea7eabaf~szFwoay4E3001630016epsmtip1Y; Tue, 16 Mar 2021 10:37:42 +0000 (GMT) From: Maninder Singh To: paulmck@kernel.org, linux@armlinux.org.uk, cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, vbabka@suse.cz, 0x7f454c46@gmail.com, viro@zeniv.linux.org.uk Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, a.sahrawat@samsung.com, Maninder Singh , Vaneet Narang Subject: [PATCH 3/3] arm: print alloc free paths for address in registers Date: Tue, 16 Mar 2021 16:07:12 +0530 Message-Id: <1615891032-29160-3-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSfUxTZxTG996vXmq63CDoC9gqNRpBBZxDXw0I6KLX7R9ijDI1SDNvqFlv 7VrAD1zAgJ2VafAboQJZysQCFm6ZlirCirFChlIRGJllDTBnRPygk0SJc5Rbsv9+z3POc87J m5fGQx1kJL1fm8PptSqNkpISNzpiYlbml6RnJYwPh6HSi88I5LnFIbOtnkIDky8AulZSRCFh pJ9EvU4zhYbqP5LIdaEVoI4qI4EmLJMEMvr/JZHR0oQhV+cVgCqOnQbo4Qc3mcqwvf0enG0p 90rYaiGXFawmihUmzkrYk+OPMfZ+2RTBjj6+hLF2SwF7utkK2N+q70pYv6BghdFxLF22S5q0 j9Psz+P08RuypOq/Jj/TtcsP2c0WshC8n38ShNCQ+RyeNd0GAQ5lbgHYPzztS6d5AkB7kxEX hR/AwssfqdnEiQfeYMEJ4HBbFymKfwB81G6bmUUxcdDqvE0EOIx5Mt11LCfQhDP3AHzX3TZT mMtshcXHvdNpmiaYJdB9c17AljFbYIW5IbhNAQcfmPAAhzAsLHPaiMAcyNyn4cC7JonY9AU8 3+EhRZ4Ln7ubg34k9L9spcRACYCXzb24KOoAFJ4NBBMpcKyoEAtcgTMx0OaMF205vNB1HQsw znwKT02NYqIvg47KWV4Ciwcbg2OioP/NG0JkFvrODUnEZ6kA8JdqMygFivL/V1QDYAURnM7A Z3OGRN0qLXcwzqDiDbna7LhvDvACmPlcsVsdwOt7HecCGA1cANK4MkyWqE3PCpXtUx0+wukP 7NXnajiDC0TRhHK+zJHg2xvKZKtyuG85TsfpZ6sYHRJZiJUuyNi0FBrtX/WkRGuid5eZuj2N R7evb+leY9pWuTEi/PdFPTV3kuKd8xTtd4yLk89l7PiuluyT8r57yYN/LpSrNy8fG7HzBRul avp83kJe5a663vOjj+mTJkWlXcmsu/v3l2nhq9ek1ikyx2p3tpR/bS2obfv+UGmmo8/GTL3q fDpS0ix5dcLSxzeGD614rdmUd6TDWKnsKkpeRmXUcCsF3r95js2S2pN/tV4zfGb5D786qwrk CZ6KlD3j17rfCsWJ255W1fxc81Ovrv+t4nDD7udplfz7ter0aG9k/WrjzaU71hV1ln2iaEV/ XAzbFRsvd+ZHqPMMN4YyGyZPuazuJ0rCoFatisX1BtV/2RnlFcsDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrJLMWRmVeSWpSXmKPExsWy7bCSnG5lV0CCwZVOJYsJ016wWFzcnWox Z/0aNovr394wWqzsbmaz2PT4GqvF5V1z2CzurfnPanFo6l5Gi8Pz21gsPi35xmLR9vkfq0Xb ko1MFodOzmW0mN3Yx2hx/u9xVgcBj8vXLjJ77Jx1l91jwaZSj02rOtk8Nn2axO7R9fYKk8eJ Gb9ZPJ5cmc7ksXlJvUffllWMHmcWHGH3+LxJzmPTk7dMAbxRXDYpqTmZZalF+nYJXBlPvxkV HJCt2DxnCWsD4y/xLkZODgkBE4mOc3eZuxi5OIQEdjBKbHp/ggUiIS3x8997KFtYYuW/5+wQ RZ8YJXY1LWUHSbAJ6Ems2rWHBSQhIvCCUWLNnpVMIA6zwBlGiXdX5zKBVAkLeEq0tN5l7WLk 4GARUJU4vl0MJMwr4C4xe85aNogNchI3z3Uyg9icAh4SM3atB9ssBFQz7/VvtgmMfAsYGVYx SqYWFOem5xYbFhjlpZbrFSfmFpfmpesl5+duYgTHhpbWDsY9qz7oHWJk4mA8xCjBwawkwmua F5AgxJuSWFmVWpQfX1Sak1p8iFGag0VJnPdC18l4IYH0xJLU7NTUgtQimCwTB6dUA9M6qQNs aT4LLEokFvDvYOgv45gRsPGzzp6Yz35tYeZS7pu3lJQlz47dzPn9y4MFHDMqNA3KP+uI1zu+ lA39foQv7Mo/4Xk93762Lp6ey/DsaLqpW7PIVOHenWU8K57aXSpIy+BU3zF3Vu6h+61fKyuv TBHMvbCi5Gwo848vvxqfWF3avuWQ2KRStu7HH/5+NmxILas4Ma3aqiWr8snFXIs7drXGvp03 vqW7sE7fde2dm/lBMbVI5aD1MtPy69M2zzNUr/92vs11o/zL2yt3zsmojPjQvnnJesfOhfqe fecy/2uyORaFcc/btH9jcUFO1d/AN6YSQj9vvLQMelU69dmG6xUsOsKnXOetUdn+3EyJpTgj 0VCLuag4EQCcWn7H/AIAAA== X-CMS-MailID: 20210316103745epcas5p3994f29958b7f14aec8cbd90fa518761f X-Msg-Generator: CA X-Sendblock-Type: REQ_APPROVE CMS-TYPE: 105P X-CMS-RootMailID: 20210316103745epcas5p3994f29958b7f14aec8cbd90fa518761f References: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210316_104211_845713_394DD9A9 X-CRM114-Status: GOOD ( 16.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In case of user after free kernel OOPs, free path of object is required to debug futher. And in most of cases object address is present in one of registers. Thus check for register address and if it belongs to slab, print its alloc and free path. e.g. in below issue register r6 belongs to slab, and user afree issue occurred on one of its derefer values: [ 20.182197] Unable to handle kernel paging request at virtual address 6b6b6b6f .... [ 20.185035] pc : [] lr : [] psr: 60000013 [ 20.185271] sp : c8927d40 ip : ffffefff fp : c8aa8020 [ 20.185462] r10: c8927e10 r9 : 00000001 r8 : 00400cc0 [ 20.185674] r7 : 00000000 r6 : c8ab0180 r5 : c1804a80 r4 : c8aa8008 [ 20.185924] r3 : c1a5661c r2 : 00000000 r1 : 6b6b6b6b r0 : c139bf48 ..... [ 20.191499] Register r6 information: slab kmalloc-64 start c8ab0140 data offset 64 pointer offset 0 size 64 allocated at meminfo_proc_show+0x40/0x4fc [ 20.192078] meminfo_proc_show+0x40/0x4fc [ 20.192263] seq_read_iter+0x18c/0x4c4 [ 20.192430] proc_reg_read_iter+0x84/0xac [ 20.192617] generic_file_splice_read+0xe8/0x17c [ 20.192816] splice_direct_to_actor+0xb8/0x290 [ 20.193008] do_splice_direct+0xa0/0xe0 [ 20.193185] do_sendfile+0x2d0/0x438 [ 20.193345] sys_sendfile64+0x12c/0x140 [ 20.193523] ret_fast_syscall+0x0/0x58 [ 20.193695] 0xbeeacde4 [ 20.193822] Free path: [ 20.193935] meminfo_proc_show+0x5c/0x4fc [ 20.194115] seq_read_iter+0x18c/0x4c4 [ 20.194285] proc_reg_read_iter+0x84/0xac [ 20.194475] generic_file_splice_read+0xe8/0x17c [ 20.194685] splice_direct_to_actor+0xb8/0x290 [ 20.194870] do_splice_direct+0xa0/0xe0 [ 20.195014] do_sendfile+0x2d0/0x438 [ 20.195174] sys_sendfile64+0x12c/0x140 [ 20.195336] ret_fast_syscall+0x0/0x58 [ 20.195491] 0xbeeacde4 Co-developed-by: Vaneet Narang Signed-off-by: Vaneet Narang Signed-off-by: Maninder Singh --- arch/arm/include/asm/bug.h | 1 + arch/arm/kernel/process.c | 11 +++++++++++ arch/arm/kernel/traps.c | 1 + 3 files changed, 13 insertions(+) diff --git a/arch/arm/include/asm/bug.h b/arch/arm/include/asm/bug.h index 673c7dd75ab9..ba8d9d7d242b 100644 --- a/arch/arm/include/asm/bug.h +++ b/arch/arm/include/asm/bug.h @@ -88,5 +88,6 @@ extern asmlinkage void c_backtrace(unsigned long fp, int pmode, struct mm_struct; void show_pte(const char *lvl, struct mm_struct *mm, unsigned long addr); extern void __show_regs(struct pt_regs *); +extern void __show_regs_alloc_free(struct pt_regs *regs); #endif diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 5199a2bb4111..249dd285c4d8 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -92,6 +92,17 @@ void arch_cpu_idle_exit(void) ledtrig_cpu(CPU_LED_IDLE_END); } +void __show_regs_alloc_free(struct pt_regs *regs) +{ + int i; + + /* check for r0 - r12 only */ + for (i = 0; i < 13; i++) { + pr_alert("Register r%d information:", i); + mem_dump_obj((void *)regs->uregs[i]); + } +} + void __show_regs(struct pt_regs *regs) { unsigned long flags; diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 17d5a785df28..64308e3a5d0c 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -287,6 +287,7 @@ static int __die(const char *str, int err, struct pt_regs *regs) print_modules(); __show_regs(regs); + __show_regs_alloc_free(regs); pr_emerg("Process %.*s (pid: %d, stack limit = 0x%p)\n", TASK_COMM_LEN, tsk->comm, task_pid_nr(tsk), end_of_stack(tsk));