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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3EA66C47071 for ; Wed, 15 Nov 2023 03:14:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C7AC76B0325; Tue, 14 Nov 2023 22:14:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C2BA06B0327; Tue, 14 Nov 2023 22:14:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AF2EE6B0328; Tue, 14 Nov 2023 22:14:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A0BBE6B0325 for ; Tue, 14 Nov 2023 22:14:02 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 65198C0525 for ; Wed, 15 Nov 2023 03:14:02 +0000 (UTC) X-FDA: 81458719524.07.216B17A Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf20.hostedemail.com (Postfix) with ESMTP id C6F6F1C000F for ; Wed, 15 Nov 2023 03:13:58 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf20.hostedemail.com: domain of liushixin2@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=liushixin2@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700018040; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RftlfcDDbgk/4NDOABHv3e0dCrpbs1hDwNyhcLvX4pc=; b=fBL1UYDXMUzUBehtU2vrLY4s/2IveOa9OfLGJcPgISW/y2nzAFLBq6wxRnOEPHhcaGz44E sED+DcLkvTUspPDL+QPVUP/+KQj94tNoLWhD/OyWDBUf8Hpx+tmUE/fy3u9b4YzaWVxs3X nsfY04DO76wTm2mJe4B9nNwMAVvInYU= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf20.hostedemail.com: domain of liushixin2@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=liushixin2@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700018040; a=rsa-sha256; cv=none; b=DXDs+7guQid8DaDTMgU1DPiRH6mAGokNt9HQLo/S8J+HA5FuYjdLtvgwV88c0SVQNkLRan GQACL1JLHOQLlGxgKX06DOeX/T5kdF6kDvstd3SnO5gwa7DfizRLbBsE/GjOvfPDOjTcJk pGhl3HTkssikjikRG8Q65XxKyFD7ZQE= Received: from dggpemd200004.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4SVSpf38HMz1P7pR; Wed, 15 Nov 2023 11:10:34 +0800 (CST) Received: from [10.174.179.24] (10.174.179.24) by dggpemd200004.china.huawei.com (7.185.36.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.2.1258.23; Wed, 15 Nov 2023 11:13:53 +0800 Subject: Re: [PATCH -next] mm/kmemleak: move the initialisation of object to __link_object To: Geert Uytterhoeven References: <20231023025125.90972-1-liushixin2@huawei.com> CC: Catalin Marinas , Patrick Wang , Andrew Morton , Kefeng Wang , , , Linux-Renesas From: Liu Shixin Message-ID: Date: Wed, 15 Nov 2023 11:13:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.179.24] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpemd200004.china.huawei.com (7.185.36.141) X-CFilter-Loop: Reflected X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: C6F6F1C000F X-Stat-Signature: zxgoi3unb83w3dghkonja3qu3ybbww4a X-HE-Tag: 1700018038-979847 X-HE-Meta: U2FsdGVkX19Z7B1rmKrBL11fLswqG4IWmmQeMvj8SdB8+Kr1sPkpX35qpvz7bTw3xCZHyTwiENzfgbiVBCwFOO1Osf17KBLd0g8MXTie34HayesOi8iA/Q5EP0pgQyMBi2b1xs6NH85Zaz65qSC4eIO9tpm5s7bwlt/aTTm78mmRB7CoiafL5G5Br/Q3bJUTir0sxQx4Qjshp1GJkJAl+BNcrXzbbuNhFh+TzlM1BZMKx4HmEfLxtMhqEbN6Tq7Ufwc2TLHPnclCj9nZGWCD1GKZfAnMTsH2JzqqgCu6Wo3JpqkJ5q3DF/uVcWcz+5Vll1ciG2oYZvrmTg6I5Rl6Xv/gggcpmmBql/tRw4BnUygHjF5XrZJrvgEwI/hcbYWxdeBbP8VXzyPC4hViM9oYhvU4FK5SmOi7mu+VQx+9XtIsnXWP5ICdTeEBLSke/VHJsxFRAN10pLNloJ8prVuBPMetQmX9wPvwQD0Fam+VcZW5oVT7+F0kkSM4WW7vxbnMjjsCnCznPR6gPTaoo3jENaaNlboa12eFS3poGx9eDYJYti0vXRZGf89qSR73IzzBz8XqYt6nebhQ/S9ecM9XoSMw7QLk0TVehuqVMT1WhO96QdCTPwv0caHPw7gwImlEnIRvk1A2cAFH9vVqBXjphrGoHdTmZT7cnIAySj4Uzvrs+4UEgEPWpxCvHGS2RArGKYFGZDWIp9Hv7gWnszMuzNwTQu86jMaRNhcnKZRotQhOGraHsb+eHOCKJrj0TLUgNi1vleKVg2deo7eCS0t0xFulz1M65wFEFE2wlBnelvtS7MZLBUqeSRe1Fbmd3aan2R6TydgVgC9igu2dNImdUk3VxEVQ93IT2ys+YVax867YFeGhKOnDwGpEHdqEjrdzy0R+4FFhOFEXMqp/Bbg2SeqJydLS0t62GOvukj6fsNM+HJ+2XsCW0DSff0fciEO4+NaHKoGuPEDAH+S+AvM NeDLQcAH u0NcOcwC9xuFlM3AGr1PIFeXwd5isRpwKnXxtTeYdxzfro9ES7ChZR4EtvC5oTkWmyXMkiGncraIu+n/4ukmhXqx2bS9hWUy0nUc2XPcuWze2bRPOgyMZs5y4KZb1cnwf6hBuzZABYSPAHLUBKeVsYQC/olt2tcYg5h034MfffjZQ70OXa7RZNRUphv+sJgk3zckRHUWgb697/voZjg93omlDv6Q0VTxAn5tzOk/N+NuuWqi85abMRj/YAoeVgVdWB+3TpmmOkyoDPaq5zCuDgXfmXcUitZZTCm6pwvL/u7g8USBZWXK2qYYr/UvQv6/LfQwoy2xa+qGEAgc= 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: List-Subscribe: List-Unsubscribe: On 2023/11/15 0:21, Geert Uytterhoeven wrote: > Hi Liu, > > On Mon, Oct 23, 2023 at 3:52 AM Liu Shixin wrote: >> Leave __alloc_object() just do the actual allocation and __link_object() >> do the full initialisation. >> >> Suggested-by: Catalin Marinas >> Signed-off-by: Liu Shixin > Thanks for your patch, which is now commit 245245c2fffd0050 > ("mm/kmemleak: move the initialisation of object to __link_object") > in v6.7-rc1. > > I have bisected to this commit the BUG splat below (seen on various > platforms). Reverting this commit fixes the issue. Thanks for the discovery. It looks like that we can't call set_track_prepare() inside kmemleak_lock. I will revert this patch. Thanks. > > Memory: 7923468K/8257536K available (9024K kernel code, 5144K rwdata, > 4088K rodata, 3072K init, 18331K bss, 268532K reserved, 65536K > cma-reserved) > SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 > + > +============================= > +[ BUG: Invalid wait context ] > +6.6.0-rc4-white-hawk-00387-g245245c2fffd #192 Not tainted > +----------------------------- > +swapper/0 is trying to lock: > +ffffffc0814bbed8 (&zone->lock){....}-{3:3}, at: __rmqueue_pcplist+0x4ac/0x53c > +other info that might help us debug this: > +context-{5:5} > +3 locks held by swapper/0: > + #0: ffffffc0813cd720 (slab_mutex){....}-{4:4}, at: > kmem_cache_create_usercopy+0xac/0x2e0 > + #1: ffffffc0813d93e8 (kmemleak_lock){....}-{2:2}, at: > __create_object+0x48/0x98 > + #2: ffffff86bef6cc98 (&pcp->lock){....}-{3:3}, at: > get_page_from_freelist+0x184/0x7c0 > +stack backtrace: > +CPU: 0 PID: 0 Comm: swapper Not tainted > 6.6.0-rc4-white-hawk-00387-g245245c2fffd #192 > +Hardware name: Renesas White Hawk CPU and Breakout boards based on > r8a779g0 (DT) > +Call trace: > + dump_backtrace+0xac/0xe4 > + show_stack+0x14/0x20 > + dump_stack_lvl+0x68/0x94 > + dump_stack+0x14/0x1c > + __lock_acquire+0x390/0xffc > + lock_acquire+0x230/0x28c > + _raw_spin_lock_irqsave+0x54/0x70 > + __rmqueue_pcplist+0x4ac/0x53c > + get_page_from_freelist+0x2a8/0x7c0 > + __alloc_pages+0xf4/0x9f8 > + __stack_depot_save+0x178/0x3c8 > + stack_depot_save+0x10/0x18 > + set_track_prepare+0x44/0x70 > + __link_object+0xd0/0x220 > + __create_object+0x64/0x98 > + kmemleak_alloc+0x28/0x34 > + slab_post_alloc_hook.constprop.0+0xbc/0xc4 > + kmem_cache_alloc+0xd4/0x158 > + kmem_cache_create_usercopy+0x1c8/0x2e0 > + kmem_cache_create+0x18/0x20 > + kmemleak_init+0x74/0xfc > + mm_core_init+0x214/0x250 > + start_kernel+0x2cc/0x4ec > + __primary_switched+0xb4/0xbc > trace event string verifier disabled > Running RCU self tests > > Gr{oetje,eeting}s, > > Geert >