From mboxrd@z Thu Jan 1 00:00:00 1970 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=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham 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 597C5C433DB for ; Thu, 18 Mar 2021 12:33:29 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C1A5B64F4D for ; Thu, 18 Mar 2021 12:33:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1A5B64F4D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 46FEB6B0072; Thu, 18 Mar 2021 08:33:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 41FFE6B0073; Thu, 18 Mar 2021 08:33:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C10A6B0074; Thu, 18 Mar 2021 08:33:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0146.hostedemail.com [216.40.44.146]) by kanga.kvack.org (Postfix) with ESMTP id 12F496B0072 for ; Thu, 18 Mar 2021 08:33:28 -0400 (EDT) Received: from smtpin03.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id C06F46D6D for ; Thu, 18 Mar 2021 12:33:27 +0000 (UTC) X-FDA: 77932935654.03.6E1036D Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by imf05.hostedemail.com (Postfix) with ESMTP id 9F9EFE0011F4 for ; Thu, 18 Mar 2021 12:33:06 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 5CC81AD20; Thu, 18 Mar 2021 12:33:05 +0000 (UTC) Subject: Re: [PATCH 1/3] mm/slub: fixing backtrace of objects because of redzone adjustment To: Maninder Singh , paulmck@kernel.org, linux@armlinux.org.uk, cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, 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, Vaneet Narang References: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> From: Vlastimil Babka Message-ID: <8277f785-7952-08a9-52b5-b45aaccc20c7@suse.cz> Date: Thu, 18 Mar 2021 13:33:04 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <1615891032-29160-1-git-send-email-maninder1.s@samsung.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9F9EFE0011F4 X-Stat-Signature: oraeprpgnobzxy88dn4kcrfgzb6hpoo3 Received-SPF: none (suse.cz>: No applicable sender policy available) receiver=imf05; identity=mailfrom; envelope-from=""; helo=mx2.suse.de; client-ip=195.135.220.15 X-HE-DKIM-Result: none/none X-HE-Tag: 1616070786-588880 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 3/16/21 11:37 AM, Maninder Singh wrote: > 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: 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 >