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 BC767C433EF for ; Tue, 19 Apr 2022 23:23:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 448BF6B0071; Tue, 19 Apr 2022 19:23:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3F6456B0072; Tue, 19 Apr 2022 19:23:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26ED46B0074; Tue, 19 Apr 2022 19:23:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.28]) by kanga.kvack.org (Postfix) with ESMTP id 13C526B0071 for ; Tue, 19 Apr 2022 19:23:23 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D558D211A5 for ; Tue, 19 Apr 2022 23:23:22 +0000 (UTC) X-FDA: 79375207044.27.A5B36FA Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) by imf23.hostedemail.com (Postfix) with ESMTP id 1E2EB140002 for ; Tue, 19 Apr 2022 23:23:20 +0000 (UTC) Received: by mail-vk1-f175.google.com with SMTP id b81so29518vkf.1 for ; Tue, 19 Apr 2022 16:23:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hrY5LLH066IHLez83TcalJiVLoQrKgJceeIzQF3JDbc=; b=cZV4V268fHlBsfDfNjkF31+TGTgAGiJx/ZamlTzEO0B6IeLQYU3x/doxYwkbgWLZU3 NtbdlXKmz1MYL4AFIQ2iC7C06olpCiFdD5lZT5daUfP6qA7lS+svcjmuyLmZj3gRniJb lo0ddgASwAB7mvg90WCy6INBmOAlNaKgBC2jke6MDRvSmxIAXvxd52pj1PhGdaaak4an UF0uQdfqVtUQFv6aNHvS3WnKOqLUuFYOwQ8mqHrYYptGAFL17wF5YuhC6tahDLVd1GeT 9cTvb2ARzHmU2jguicCtiHWdyZn/FgumPu0yT5CDkKSljeN3bgyPHiHRCxIzAZXyRM3d qhHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hrY5LLH066IHLez83TcalJiVLoQrKgJceeIzQF3JDbc=; b=Sjdbrpl8SfWBIFMCHNM3s8SeRErmdAVLdYStB6ZSh8iJpn+qf6jyZXOmknYxBXeGb1 wSbsdVWL+uGEf2OeUFr6wsJ0Bw3a4F3CP1mUZXOpnOzJ6YXMlPuWsFOwvTPKfuJFVpWg B6lb69f16k9gcEjVCY4WM8wKBKzA+6eL3ySDFphIqdwkoqmkWhZN/9GupTCG5u9sPeMK sr1oOt5PSpOWUWJajlqjiWguf2kskI2xD2e9cB/CYkMj3xCZcKdzl3U8vQrhxNX3Q1tL h9R+lOdC1/njbOlmmHyDQdR7eqSb2slGxiMKViYjLKeLLgd0wqudrFfedJ6Sfbp5X1ER t3xA== X-Gm-Message-State: AOAM530MnNRsiFnz9xx+AgApKEdHVwF8IhfJDOJIo13sSdxJUizRNXey UANSh2ckBtwL1giaTiuHhFNVyPFJCs+5926ftE5wug== X-Google-Smtp-Source: ABdhPJxOjlK8yhrXOagazlvJl5pLMj/ZNz/gt3wx15qmOENNEfWPnOVXaHXkRDojUu7/NTa0xqW8SyfeReolknSk+jU= X-Received: by 2002:a1f:a9cb:0:b0:33e:d145:85f0 with SMTP id s194-20020a1fa9cb000000b0033ed14585f0mr5479375vke.7.1650410601571; Tue, 19 Apr 2022 16:23:21 -0700 (PDT) MIME-Version: 1.0 References: <20220414171521.bgdvrirumd4atjhs@revolver> <20220414121911.8bb89fc3681b13af1566d79c@linux-foundation.org> <20220416010259.4gbz5hgvm2lgr3sj@revolver> <20220416151923.ig5zavuptjsufm3d@revolver> <20220419155055.qf52xpcftqb3r5nj@revolver> <20220419231748.omnhkl43vl5ep2j5@revolver> In-Reply-To: <20220419231748.omnhkl43vl5ep2j5@revolver> From: Yu Zhao Date: Tue, 19 Apr 2022 17:22:45 -0600 Message-ID: Subject: Re: [PATCH v7 00/70] Introducing the Maple Tree To: Liam Howlett Cc: Andrew Morton , "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=cZV4V268; spf=pass (imf23.hostedemail.com: domain of yuzhao@google.com designates 209.85.221.175 as permitted sender) smtp.mailfrom=yuzhao@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: gqfk5xkfao9688kj7i6mwdwjfg3ibeaw X-Rspamd-Queue-Id: 1E2EB140002 X-Rspamd-Server: rspam04 X-Rspam-User: X-HE-Tag: 1650410600-674940 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 Tue, Apr 19, 2022 at 5:18 PM Liam Howlett wrote: > > * Yu Zhao [220419 17:59]: > > On Tue, Apr 19, 2022 at 9:51 AM Liam Howlett wrote: > > > > > > * Yu Zhao [220416 15:30]: > > > > On Sat, Apr 16, 2022 at 9:19 AM Liam Howlett wrote: > > > > > > > > > > > > > > > > > > > > > > How did you hit this issue? Just on boot? > > > > > > > > I was hoping this is known to you or you have something I can verify for you. > > > > > > > > > Thanks, yes. I believe that both crashes are the same root cause. The > > > cause is that I was not cleaning up after the kmem bulk allocation > > > failure on my side. Please test with this patch. > > > > Thanks. I applied this patch and hit a LOCKDEP and then a BUG_ON: > > > > lib/maple_tree.c:847 suspicious rcu_dereference_protected() usage! > > Call Trace: > > > > dump_stack_lvl+0x6c/0x9a > > dump_stack+0x10/0x12 > > lockdep_rcu_suspicious+0x12c/0x140 > > __mt_destroy+0x96/0xd0 > > exit_mmap+0x2a0/0x360 > > __mmput+0x34/0x100 > > mmput+0x2f/0x40 > > free_bprm+0x64/0xe0 > > kernel_execve+0x129/0x330 > > call_usermodehelper_exec_async+0xd8/0x130 > > ? proc_cap_handler+0x210/0x210 > > ret_from_fork+0x1f/0x30 > > > > Thanks - I'm not sure how this got through, but this should fix it. > > This should be added to 4236a642ad185 to avoid the LOCKDEP issue. > > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -3163,9 +3163,9 @@ void exit_mmap(struct mm_struct *mm) > > BUG_ON(count != mm->map_count); > > - mmap_write_unlock(mm); > trace_exit_mmap(mm); > __mt_destroy(&mm->mm_mt); > + mmap_write_unlock(mm); > vm_unacct_memory(nr_accounted); > } Will try this. > > BUG: unable to handle page fault for address: ffffa6072aff0060 > > RIP: 0010:mab_calc_split+0x103/0x1a0 > > Code: 29 c1 8b 86 64 02 00 00 0f b6 80 dc 7d a7 96 39 c1 7e 05 83 c3 > > 01 eb 06 81 c3 ff 00 00 00 0f b6 c3 45 84 d2 74 3f 41 0f b6 ca <48> 83 > > bc ce 10 01 00 00 00 75 2d 41 83 c0 ff 41 39 c8 7e 20 0f b6 > > RSP: 0018:ffffa6072afef6d0 EFLAGS: 00010286 > > RAX: 0000000000000054 RBX: 0000000000000154 RCX: 00000000000000aa > > RDX: ffffa6072afef83f RSI: ffffa6072afefa00 RDI: ffffa6072afefe80 > > RBP: ffffa6072afef6e0 R08: 0000000000000010 R09: 00000000000000ff > > R10: 00000000000000aa R11: 0000000000000001 R12: 00000000000000ff > > R13: ffffa6072afefa00 R14: ffffa6072afef9c0 R15: 0000000000000008 > > FS: 0000000001d75340(0000) GS:ffff8a56bf980000(0000) knlGS:0000000000000000 > > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > > CR2: ffffa6072aff0060 CR3: 00000004986ca002 CR4: 00000000001706e0 > > Call Trace: > > > > mas_spanning_rebalance+0x416/0x2060 > > mas_wr_store_entry+0xa6d/0xa80 > > mas_store_gfp+0xf6/0x170 > > do_mas_align_munmap+0x32b/0x5c0 > > do_mas_munmap+0xf3/0x110 > > __vm_munmap+0xd4/0x180 > > __x64_sys_munmap+0x1b/0x20 > > do_syscall_64+0x44/0xa0 > > > > $ ./scripts/faddr2line vmlinux mab_calc_split+0x103 > > mab_calc_split+0x103/0x1a0: > > mab_no_null_split at lib/maple_tree.c:1787 > > (inlined by) mab_calc_split at lib/maple_tree.c:1866 > > 1787 is "if (!b_node->slot[split]) {" Does this line up with your code? Yes. > How did you trigger this? stress-ng --class vm -a 20 -t 600s -temp-path /tmpdir/ (same test environment as in my first report)