Message ID | 87c0e8cc-85c0-806e-da9f-b7b3cacde7d@google.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 6C396C77B75 for <linux-mm@archiver.kernel.org>; Mon, 22 May 2023 05:09:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0AC7B90000B; Mon, 22 May 2023 01:09:00 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 05BE2900002; Mon, 22 May 2023 01:09:00 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3F4E90000B; Mon, 22 May 2023 01:08:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id D7498900002 for <linux-mm@kvack.org>; Mon, 22 May 2023 01:08:59 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A071E4044B for <linux-mm@kvack.org>; Mon, 22 May 2023 05:08:59 +0000 (UTC) X-FDA: 80816711598.13.16F18EA Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by imf06.hostedemail.com (Postfix) with ESMTP id DB2ED18000F for <linux-mm@kvack.org>; Mon, 22 May 2023 05:08:57 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=FWm+aAqC; spf=pass (imf06.hostedemail.com: domain of hughd@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1684732137; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=7rTGIbKCcYdvVJu9Ybd88rQGNMtFs0WCnevY0u3jIzc=; b=1zihbn1SA429hMCjykHb4lRv+Ld/7V8e/g92+sX6NLK5diqYfRUAGK8VgoPDwih47wUIcL L0JFhfCVULI/LFYYiIC/e78yC+z0opvhiPg2KmJ22lj3RMEuOhsnfuTMv+Xqfp9CTDVxi6 1/adIjr+p/mscRSkU1qsq+FxqqR6UNc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684732137; a=rsa-sha256; cv=none; b=kil4sXfU57BEtYEz1LZH+erpkPDPjd4swNyyFPOrl2kTL28hy7OtQa3472mGcZfjM2GLzm iQuRUaEi7N31YFJreoYuA5g/t0sv2soXy4mWkZrVLgexfeVnYDZ5ok8MT8oR3yNxPJFrY9 zYHYTIxPBBhGAeKHs94T9nacf7sdBmg= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=google.com header.s=20221208 header.b=FWm+aAqC; spf=pass (imf06.hostedemail.com: domain of hughd@google.com designates 209.85.128.179 as permitted sender) smtp.mailfrom=hughd@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-565014fc2faso7246087b3.1 for <linux-mm@kvack.org>; Sun, 21 May 2023 22:08:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1684732137; x=1687324137; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=7rTGIbKCcYdvVJu9Ybd88rQGNMtFs0WCnevY0u3jIzc=; b=FWm+aAqCrTI8L5F1peTncvX2j+gJ1K5pdecyQ2SgwMPmXn8TR/t30T7yAueI1Z1Prx +ZNB4HFJeDGCEa3TY+DbZFPXAQMoW0lt0/cPYFkOtZn9pNtwNaAji3QwKEg49ie0wiso /aqMK319Yal/5gxVXR6hyaD4EBzJg8qItdk0tBwwmogEtt3sYbaEVCj54AVP/iyafLSN g3n7sbdycHd6xijbyr/rauTFVAs7KxoLkcQWJDCzbFut9bVjwaE8Xx0Mf3/CDuWrY3hk wIWhl9hSpGsCek8QZILjryCAxN2GrBpCITRg0NVy+fYzjrAIzOzQeSq16gHJmxidsl5V /Prg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684732137; x=1687324137; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7rTGIbKCcYdvVJu9Ybd88rQGNMtFs0WCnevY0u3jIzc=; b=gEe5P6B6UrkcUzQue3reXSO31Gp/gozFM0otCW8wE3jYunExF7GjtRDwofVo1UjicU Lr1D9mUD8Etar01lO9+8yBHymYfIJiAHucK6liMH98tPjjO1mhxDotvnVldwSHdauD7F 2KEQ4qVkhoQCsCHttGvTZzwzkvRNsf09jya34TXGaYE3+NI/ExdR98TIxzkeYp79e9N4 9u1qaaDjljnMJbh0NPBmiU2EpTHAUci9wXlOJvDuY4GSITYMjlsz8P2KOkvkj3NZ+NcN 29fzSQlG+LzcwRY/XauyFOcm0VX3V4S/LJ2UTGIw1+8AOwH/5wSyNWVrP+jVTcbVBy// EChw== X-Gm-Message-State: AC+VfDwxNKsXRIszjJIhH+4VZAaAgbF9WyezTTrvf3DLjDCMWVQAm0gO mK7juQzFr+4Sg8DOdYzdylo9vA== X-Google-Smtp-Source: ACHHUZ7MEfF9deLoAIS2DPpctOmVhab2WCwoG7BFDeIpVNW1XvRRPWqoYkqwVwVotMomYmO1i86qzw== X-Received: by 2002:a0d:d74a:0:b0:55a:14df:5c10 with SMTP id z71-20020a0dd74a000000b0055a14df5c10mr12334350ywd.18.1684732136920; Sun, 21 May 2023 22:08:56 -0700 (PDT) Received: from ripple.attlocal.net (172-10-233-147.lightspeed.sntcca.sbcglobal.net. [172.10.233.147]) by smtp.gmail.com with ESMTPSA id t67-20020a818346000000b0055a503ca1e8sm1804176ywf.109.2023.05.21.22.08.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 May 2023 22:08:56 -0700 (PDT) Date: Sun, 21 May 2023 22:08:53 -0700 (PDT) From: Hugh Dickins <hughd@google.com> X-X-Sender: hugh@ripple.attlocal.net To: Andrew Morton <akpm@linux-foundation.org> cc: Mike Kravetz <mike.kravetz@oracle.com>, Mike Rapoport <rppt@kernel.org>, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>, Matthew Wilcox <willy@infradead.org>, David Hildenbrand <david@redhat.com>, Suren Baghdasaryan <surenb@google.com>, Qi Zheng <zhengqi.arch@bytedance.com>, Yang Shi <shy828301@gmail.com>, Mel Gorman <mgorman@techsingularity.net>, Peter Xu <peterx@redhat.com>, Peter Zijlstra <peterz@infradead.org>, Will Deacon <will@kernel.org>, Yu Zhao <yuzhao@google.com>, Alistair Popple <apopple@nvidia.com>, Ralph Campbell <rcampbell@nvidia.com>, Ira Weiny <ira.weiny@intel.com>, Steven Price <steven.price@arm.com>, SeongJae Park <sj@kernel.org>, Naoya Horiguchi <naoya.horiguchi@nec.com>, Christophe Leroy <christophe.leroy@csgroup.eu>, Zack Rusin <zackr@vmware.com>, Jason Gunthorpe <jgg@ziepe.ca>, Axel Rasmussen <axelrasmussen@google.com>, Anshuman Khandual <anshuman.khandual@arm.com>, Pasha Tatashin <pasha.tatashin@soleen.com>, Miaohe Lin <linmiaohe@huawei.com>, Minchan Kim <minchan@kernel.org>, Christoph Hellwig <hch@infradead.org>, Song Liu <song@kernel.org>, Thomas Hellstrom <thomas.hellstrom@linux.intel.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 16/31] mm/debug_vm_pgtable,page_table_check: warn pte map fails In-Reply-To: <68a97fbe-5c1e-7ac6-72c-7b9c6290b370@google.com> Message-ID: <87c0e8cc-85c0-806e-da9f-b7b3cacde7d@google.com> References: <68a97fbe-5c1e-7ac6-72c-7b9c6290b370@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Stat-Signature: jbyzmaeuyr3p67dqjmi9myr93ubeqroh X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DB2ED18000F X-Rspam-User: X-HE-Tag: 1684732137-33834 X-HE-Meta: U2FsdGVkX18+pV3NMQoRUo5jme5cu4qiWDUXFbSVra+RJxLvNCnw6m81c3bGnm4qgIm2OQnFzrds8TZoJGMoCPk62PrFcjiVJioBi/RFXcwH8EZUNayA+uTDy7zrQ/amJPHGQDEQmOA1Bz+TUzmylQucdxbw+saBQHCcF0Y2xmjjIuEhCSvzMFocLHySvtdUfqr/p7WKEEtcB3/7sJKsACzdPm6Vi34JEWiYf/q+/dv/aWPmFnf4Zvi9LwcHfzNNe7OhGha6FjEdWAHlph3XsHNn9mTc/l4dD4mggeB+Sd6DCs4aVQcWYdPQIyDrD9ZM4VIm8FvAr6U6Y19XfxU5ukhzLMeTzF91q6m9EdqMIKBSCytM0NBcWG89Ve7pF5RBDrU5z1pn2XtiUy+WjCp3fOD0baUy73ovy5j0mAks2KDgQjORSbDD6JRn7SGvsn+SPxlg60K35kPMTnqPR9zyB7iIq4dSM1SHaw6KWvAd6Ff3+lvJcV+4EVbHVD1erb9TZyr4kDzDcvWIkoVD2NZUUjp66351gPF8krCsvCzD4NJjF+hrncIz4XzW2VhUrTpySU4umSIY/CgyqVI2sdZi3d0UMWTFPUJCSUy+he426yh5YN5pifR3dFX5N5jwODwE7JyE4W9P7BnhofA3E/z+L3r5zdEXQYaXmI83yAurleIlESf609aKFbd2KN9VdimpD8kG5OTasdC/xqAtpQVQZklaXtrmSWqI42eL7VP7zuCSa+KVwFGQOnMc2+EDTAQQY+ALbSTfxcDmsZ6V5Attsf6/Eg77p7YeigwrVakTOYPzyncTLao8bdxSP4LZbKv/oqTtpYBrmqPy7JttFoZbycHDLzIe4DWPryw7Zmlr6fZBqYgkp7qPYBy88+mM0mN/yf+caiwUtV8XGgbSwyxYxmCm4TiiiclYMrryKZa00WtQaSSQkdga0NErtXVUBpu/0noXulHLMVVF7mCV4t0 guqLT0jD jZf1Rt8z+ih5kEibV3Ucev7p56s39tVH4UP5N3pd6mMNvu6pOE+OWcv/MAv8dw2UR4VhBYSoFutxSBKFZzmVYlg5EJC8hPSHgAX3bnDk/kpkyLKl+Jh3NwWcYfHd5AlUtgQiu9gLc09rRDLFYWBLMQqYk0E4Lafso56R/DpBEPhPJY4RYsyJqQ5cvs5+WolHZeD2mGQA+dd0zSomYrOnuPLBEUNRkUtezZ7RQf2XcaulFAFlFujhNzIWy8vlVac4yOsz4ldpdEFSBSbEyI5n5/uPmKHq3G8kxXDX4rclbm+PSyKbjqffaeC5h4lEtyw4BxwaSPiBBjXGSWfP12NsI+BWE6gBCX9qDFiEhGL2Djjz+PB1ZP1c53p67UByHL93o/7PxixUzZoi3K/k2PDbiYZFswEJUyKOGtZPBGLh4Cfnd1sSosgiIEaktng== 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: <linux-mm.kvack.org> |
Series |
mm: allow pte_offset_map[_lock]() to fail
|
expand
|
diff --git a/mm/debug_vm_pgtable.c b/mm/debug_vm_pgtable.c index c54177aabebd..ee119e33fef1 100644 --- a/mm/debug_vm_pgtable.c +++ b/mm/debug_vm_pgtable.c @@ -138,6 +138,9 @@ static void __init pte_advanced_tests(struct pgtable_debug_args *args) return; pr_debug("Validating PTE advanced\n"); + if (WARN_ON(!args->ptep)) + return; + pte = pfn_pte(args->pte_pfn, args->page_prot); set_pte_at(args->mm, args->vaddr, args->ptep, pte); flush_dcache_page(page); @@ -619,6 +622,9 @@ static void __init pte_clear_tests(struct pgtable_debug_args *args) * the unexpected overhead of cache flushing is acceptable. */ pr_debug("Validating PTE clear\n"); + if (WARN_ON(!args->ptep)) + return; + #ifndef CONFIG_RISCV pte = __pte(pte_val(pte) | RANDOM_ORVALUE); #endif @@ -1377,7 +1383,8 @@ static int __init debug_vm_pgtable(void) args.ptep = pte_offset_map_lock(args.mm, args.pmdp, args.vaddr, &ptl); pte_clear_tests(&args); pte_advanced_tests(&args); - pte_unmap_unlock(args.ptep, ptl); + if (args.ptep) + pte_unmap_unlock(args.ptep, ptl); ptl = pmd_lock(args.mm, args.pmdp); pmd_clear_tests(&args); diff --git a/mm/page_table_check.c b/mm/page_table_check.c index 25d8610c0042..0c511330dbc9 100644 --- a/mm/page_table_check.c +++ b/mm/page_table_check.c @@ -240,6 +240,8 @@ void __page_table_check_pte_clear_range(struct mm_struct *mm, pte_t *ptep = pte_offset_map(&pmd, addr); unsigned long i; + if (WARN_ON(!ptep)) + return; for (i = 0; i < PTRS_PER_PTE; i++) { __page_table_check_pte_clear(mm, addr, *ptep); addr += PAGE_SIZE;
Failures here would be surprising: pte_advanced_tests() and pte_clear_tests() and __page_table_check_pte_clear_range() each issue a warning if pte_offset_map() or pte_offset_map_lock() fails. Signed-off-by: Hugh Dickins <hughd@google.com> --- mm/debug_vm_pgtable.c | 9 ++++++++- mm/page_table_check.c | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-)