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=-6.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS autolearn=no 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 03CF7C433E3 for ; Mon, 17 Aug 2020 20:50:50 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id AD2442072E for ; Mon, 17 Aug 2020 20:50:49 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="pkTdLRrX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD2442072E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 31AC76B0002; Mon, 17 Aug 2020 16:50:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2CB4A6B0005; Mon, 17 Aug 2020 16:50:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2085C8D0002; Mon, 17 Aug 2020 16:50:49 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0102.hostedemail.com [216.40.44.102]) by kanga.kvack.org (Postfix) with ESMTP id 0CB506B0002 for ; Mon, 17 Aug 2020 16:50:49 -0400 (EDT) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id B954E2476 for ; Mon, 17 Aug 2020 20:50:48 +0000 (UTC) X-FDA: 77161254576.20.place00_561433527019 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin20.hostedemail.com (Postfix) with ESMTP id E88F1180C062D for ; Mon, 17 Aug 2020 20:50:41 +0000 (UTC) X-HE-Tag: place00_561433527019 X-Filterd-Recvd-Size: 4494 Received: from mail-ej1-f66.google.com (mail-ej1-f66.google.com [209.85.218.66]) by imf12.hostedemail.com (Postfix) with ESMTP for ; Mon, 17 Aug 2020 20:50:41 +0000 (UTC) Received: by mail-ej1-f66.google.com with SMTP id d6so19459980ejr.5 for ; Mon, 17 Aug 2020 13:50:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WDaNvWkqzm6caaEe1B0qA/ONFIO+S2PQpkxNU8y5rjQ=; b=pkTdLRrXB+5YlBJUBPXrnBVMqqkA6coVYHzqF7833j3SefWK1EvleeXK55563+dCQa 1ZNBfEYKZDIQ0/tRMrexHUxizXDoSz6CuNx6552lrC8hAdM89Eh4ZCjrvATuDaPjmXff lqr9FkMeb8lz+8k4CsB9w9h64/sxCMXvAI6Dwl6qNSOSCe37JMM3H0hYrGoiEkzLaPeX Rj7PAMabnr5uhtWhoIyCFOEvW/QZ0XmYeUmbHfwqVTDVRSl+xlRbszeV+PKV2ABz0xqV 3DwYzc+lhdRU+yUof/Ir9MmtQlK2k5YbqiyOsvaDuYfedLucyVe+WMImhIrTvb0pHvEX UuvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WDaNvWkqzm6caaEe1B0qA/ONFIO+S2PQpkxNU8y5rjQ=; b=oWBYnCQ8hUbYgTFrn9CtY2QKk6NLnPs33ibsS2B/1tywdLTbgT6Y9vWpCfUrixJIUz KwwByMNj/3pz1OgcRB1bwXENPuTuq/F89xJK7V5/b/XPYCXvR9k5+n2Wj3oCHqMnTJNB dRKSdUSjJb0+alWLEZWXSUkpG9FVBHcz+7NHLoYGzJgx6p/I810nuxHPzjT9bzxJMfjo t3ma3D1AJgLuV0asRagJGwTfwk3IeY2NPsqp5n3gl4C8E1eU64tBK5cDcMp638TdBQOc jlxVxX86W7VZcCPnQ7dj5D0XtN/MtTq5lNuoRk29K5qcH5w6qv4dSvlo8sOjtcim/lLo 0+pQ== X-Gm-Message-State: AOAM530ChVAAIfBqCrds4zrUlTDVulwDH+kZAEaiOP13lRhEZYh3/89V vyh0nrRJrNbtV4UqUzKd9rN6V5I2g22UBKgPuFA= X-Google-Smtp-Source: ABdhPJx1hSJ30Z0sQOaUwQm4gXEa3jjwt7xV3r8pvg6Ms4N7JILuO9372UQj+2GENKsdtRKY60jwe357xwqokZcE/W4= X-Received: by 2002:a17:906:3616:: with SMTP id q22mr17771581ejb.79.1597697440475; Mon, 17 Aug 2020 13:50:40 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Yang Shi Date: Mon, 17 Aug 2020 13:50:28 -0700 Message-ID: Subject: Re: [PATCH] khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter() To: Hugh Dickins Cc: Andrew Morton , "Kirill A. Shutemov" , Andrea Arcangeli , Song Liu , Mike Kravetz , Eric Dumazet , Linux Kernel Mailing List , Linux MM Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: E88F1180C062D X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam02 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 Fri, Aug 14, 2020 at 3:13 PM Hugh Dickins wrote: > > syzbot crashes on the VM_BUG_ON_MM(khugepaged_test_exit(mm), mm) in > __khugepaged_enter(): yes, when one thread is about to dump core, has set > core_state, and is waiting for others, another might do something calling > __khugepaged_enter(), which now crashes because I lumped the core_state > test (known as "mmget_still_valid") into khugepaged_test_exit(). I still > think it's best to lump them together, so just in this exceptional case, > check mm->mm_users directly instead of khugepaged_test_exit(). > > Reported-by: syzbot > Fixes: bbe98f9cadff ("khugepaged: khugepaged_test_exit() check mmget_still_valid()") > Signed-off-by: Hugh Dickins > Cc: stable@vger.kernel.org # v4.8+ Acked-by: Yang Shi > --- > > mm/khugepaged.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > --- v5.9-rc/mm/khugepaged.c 2020-08-12 19:46:50.867196579 -0700 > +++ linux/mm/khugepaged.c 2020-08-14 14:24:32.739457309 -0700 > @@ -466,7 +466,7 @@ int __khugepaged_enter(struct mm_struct > return -ENOMEM; > > /* __khugepaged_exit() must not run from under us */ > - VM_BUG_ON_MM(khugepaged_test_exit(mm), mm); > + VM_BUG_ON_MM(atomic_read(&mm->mm_users) == 0, mm); > if (unlikely(test_and_set_bit(MMF_VM_HUGEPAGE, &mm->flags))) { > free_mm_slot(mm_slot); > return 0; >