From patchwork Fri Nov 10 20:41:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13452777 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 04879C4332F for ; Fri, 10 Nov 2023 20:41:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A57E8D00F9; Fri, 10 Nov 2023 15:41:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 387EE8D00FA; Fri, 10 Nov 2023 15:41:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2444F8D00F9; Fri, 10 Nov 2023 15:41:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1706D8D0005 for ; Fri, 10 Nov 2023 15:41:33 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D540B40118 for ; Fri, 10 Nov 2023 20:41:32 +0000 (UTC) X-FDA: 81443215224.18.A08DF20 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf14.hostedemail.com (Postfix) with ESMTP id E33A010000D for ; Fri, 10 Nov 2023 20:41:30 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VtlHsuyG; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699648891; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=25QfWharHbMWrIl6caRn0CZ+MZ75oP4Z9qoseEg2zjc=; b=O95g19Ylf7pai+yQaWqVPZyLbNKfuJsxi3bX1rEHFObJ+igwyA6yfL6hK4kj90/qMZdG3A cVvmBWuFMf06lZu1eiPMteUSXN5FbVYTz5UOLN7bMVXEnEbxEi3C4psuUEiTpuAXUCod70 ochh9iBbQVsaHXuvJ01RmMeIsvIByMg= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=VtlHsuyG; dmarc=none; spf=none (imf14.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699648891; a=rsa-sha256; cv=none; b=i+MzTdQmP4zLy+fsu+89hsdFObPCHUyd5FyOocN/ST2KxWiO+Zo2hEvOLTIW9RReRK/oU2 8GU6vjbyltuTgt0IOo32y8bsnSarGaSlAWCCH6OEFJJ6tg+n+vQIvVCGbHvGNgAr9Omf5m pbK+yoMwIIPhDAtpmmOTMJrvcbw0AoU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=25QfWharHbMWrIl6caRn0CZ+MZ75oP4Z9qoseEg2zjc=; b=VtlHsuyG81kZTqbBNIglKsUA0j NhxzGv8c91tUS6E+YAnLht71Pq8PLu7ZDmoMvu106yZEX5Kl7ViDhN7Qx+Cb+X8hODeZldt8xfMd+ bT4PCX2OFJrqE0sUJ0OZ3bx78GDIcbAJ2wfvrTPW0psqAXRuZFkr6WADJUBlQuhRYf3P/sRmjM2xx nQzc1dQq43nkYvCVN2v6thH/fsFm59/CUZOhiEgN8Rc9AlKRmnwqa1pac1ygpGKR007h2pAVu/7VE cxvROJ3Ixoz+pKs7BIRw+5LjUk/0dmGjChbBgW+KE26RME/Nn5uTd0ehSIJ9ltZr47+ZV2c3QZd7C Qp9DOl8g==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1r1YJd-00FUT6-51; Fri, 10 Nov 2023 20:41:21 +0000 From: "Matthew Wilcox (Oracle)" To: Peter Zijlstra , Ingo Molnar , Will Deacon , Waiman Long Cc: "Matthew Wilcox (Oracle)" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Chandan Babu R , "Darrick J . Wong" , linux-xfs@vger.kernel.org, Mateusz Guzik Subject: [PATCH v3 2/4] mm: Use rwsem assertion macros for mmap_lock Date: Fri, 10 Nov 2023 20:41:17 +0000 Message-Id: <20231110204119.3692023-3-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20231110204119.3692023-1-willy@infradead.org> References: <20231110204119.3692023-1-willy@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: E33A010000D X-Stat-Signature: 6goqdbn7srue6yo7n7bp8387jn94x9cp X-HE-Tag: 1699648890-120959 X-HE-Meta: U2FsdGVkX192vDCUtl8zgjHlb15KWtrlkiGXwhnrzHpMbjW/NUdfelOOyUocO6Zs96mv3qR3Gy1dLjBqZ9pWXV3k5zXugRVnxosR7wGqM3/xLx6NVeehrviie4FHQn/2+eZ2TlFgGtk8WDSB4CT8CkbPCKrxv7ZjZvxQzIjvwkikfZ5TvYyhDVRZboayx1TGm1UGLyBcbeq+P/plWuX9tl4Rcm5gtO+QqScFwdSbuGa5/WEe3Q0JIsITymBDr5pwdyGzBYi32SrLBX6GEdnipWD+Lh55kM8ZZeLH0ncOP5YhfURyVSNSsr5wHAATjj9bGgH3w71nWK1MxSseeXlHPyQtlpXn47bu1LwkD2OhDNV/m8rBwZfT46wPOeiuB8W6Ifxe0pu9tIq8Xf+Yh6t3q5JgQh2ZP0oKLdl90hY40FY3aW8xwbQBXqFVXbxlJsuStL0noPpEQsO5K0PKPQQ8mWEMtLmfkcMqYgx5Ludyv+/WSrKe2ubVGtihaWu6aw75mc4L6jlUIx3ZlfNZiIb0uoyH7yFv0eO26RHooB28vTTyLzyZ6d/rPO2gYoQwx0YHsFSo3f6nOBfoGOrFYg12wVKZztbVLZaOu/tKhCDbNQXl5jA2Z3SSO0gGW05dCCmMSvX6WbuDcj/YhaXx620HgcNJZcIP5FfW6CbLwskGOCviTOIXZjjyrCRUjle1awliLft1/IGD4Ux2mYGoWEksE1Jyl07cicXjoeB/88L3u+eJ3lpL/DDP7ksKL3xWYE39zVZRDLMu0XDZ/w9xRv5EzLaXC2sKh/ZDrMXJxTVE0U80yqcIJSqclm6L8lR8UOMjvr9bPBXGi+XggjLQ0B8pm/WF0erPBSVg9Hq+yqoFi8qGwHovW966b2Uo4w7yQANZ7xzHWkY3G6XniuE+YGKePnilMZ1oz830abGHM1RxnDJBo8iKBIDvdLtHsKpTSy+elXWyXlX1D7AdSx2woTN 3H3emaGO 9ZxELnAJbRqKZ8rvEN5oIMou2GRg6RJzmy9hRZ3u0nzZDq/IwyVxKCW1HcUG12CkPX1z3nlB1g5cWiblljkGNSA03fThNvvUTrW6dkEAs1Lh6wia5yZaHywMob4mEeTkm4q0cUeUWvAqNQ6Sar87jUPzvGmFsgCE23DG1vzQvMwcdmaQgbI34Sy7u5z4WbfZshU/Rf38HcF9NIdKJGtVQ7bnT3kLDyT1A3jyg 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: This slightly strengthens our write assertion when lockdep is disabled. It also downgrades us from BUG_ON to WARN_ON, but I think that's an improvement. I don't think dumping the mm_struct was all that valuable; the call chain is what's important. Signed-off-by: Matthew Wilcox (Oracle) --- include/linux/mmap_lock.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h index 8d38dcb6d044..de9dc20b01ba 100644 --- a/include/linux/mmap_lock.h +++ b/include/linux/mmap_lock.h @@ -60,16 +60,14 @@ static inline void __mmap_lock_trace_released(struct mm_struct *mm, bool write) #endif /* CONFIG_TRACING */ -static inline void mmap_assert_locked(struct mm_struct *mm) +static inline void mmap_assert_locked(const struct mm_struct *mm) { - lockdep_assert_held(&mm->mmap_lock); - VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); + rwsem_assert_held(&mm->mmap_lock); } -static inline void mmap_assert_write_locked(struct mm_struct *mm) +static inline void mmap_assert_write_locked(const struct mm_struct *mm) { - lockdep_assert_held_write(&mm->mmap_lock); - VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm); + rwsem_assert_held_write(&mm->mmap_lock); } #ifdef CONFIG_PER_VMA_LOCK