From patchwork Tue Jul 11 20:20:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 13309342 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 C60FCEB64DD for ; Tue, 11 Jul 2023 20:21:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 606538D0005; Tue, 11 Jul 2023 16:21:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B8568D0002; Tue, 11 Jul 2023 16:21:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47EC18D0005; Tue, 11 Jul 2023 16:21:13 -0400 (EDT) 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 39DCB8D0002 for ; Tue, 11 Jul 2023 16:21:13 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id EC87CB0211 for ; Tue, 11 Jul 2023 20:21:12 +0000 (UTC) X-FDA: 81000450384.08.77453F8 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf02.hostedemail.com (Postfix) with ESMTP id 341D180021 for ; Tue, 11 Jul 2023 20:21:10 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cXXWg8Bu; dmarc=none; spf=none (imf02.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=1689106871; a=rsa-sha256; cv=none; b=yt6/85TyBmxkpLkU+uan3jyPOvZQYZ9LyBThHgabSayu3dzOSUzsh7jR/jYxzSeeI/HVZG BvKDfz2BHo3XWwqXDOvpn6NCwo4bjgyCKqYtT8zUbUyHoIglfIOAVjYOQp+2Pvkz1TwSMc HbokKVF+ILlF5R3iEd+JhgyCNEu1vlY= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=cXXWg8Bu; dmarc=none; spf=none (imf02.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=1689106871; 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=oydEjCEkyZj8+gutTzPsBmFt0r4FHmvMPjaQ23PbRgc=; b=XKZwuwNVpBFcdsDm0hVTs7BeF9tz/11jacLYsC8iqaZhdEry46ZAwHXBKhXTGZgD15g/jD OSgYYfWci32Yt5yQWG3j4fjKJEXgEvSJaEIxGIVXzlusMI6eK0vqRtfFDChR/lHS4xKesg 2CHSsY09ywhRbQ/G19EGbxt11d4qQIU= 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=oydEjCEkyZj8+gutTzPsBmFt0r4FHmvMPjaQ23PbRgc=; b=cXXWg8BuZO0XqlvdRgjjzr84up U8ERFG7x3TwJYwHvp5ZfHxkfuMe5agMVZN+MrgkEHvY58Ub8lYv03fWL+T227H7pgedOQfEJG9i+Y ny9Z37VhKs93IJeDFrg9FolL8ayGmHoQ3sQQM7VsqTk3DK/TJVXztIu5IZ0T3dm1zwnVp9C/URPmO NlWMbj/9ZcTXccrHoDs0LxlptMyivsKD5t1zRgmN9/NZEvfXmHpeta+MjmGtFT7ZkLEFRd18BNAtz j8ux2UC+USp+KPRGF8TeHcLInvUIx25O41hcZyxkRGgAEupYP1XcneHPoS2ak3MRrBOFF90mnIpWq QRicDFBg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qJJqs-00G1QL-AJ; Tue, 11 Jul 2023 20:20:50 +0000 From: "Matthew Wilcox (Oracle)" To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , Arjun Roy , Eric Dumazet , Suren Baghdasaryan , linux-fsdevel@vger.kernel.org, Punit Agrawal Subject: [PATCH v2 8/9] mm: Remove CONFIG_PER_VMA_LOCK ifdefs Date: Tue, 11 Jul 2023 21:20:46 +0100 Message-Id: <20230711202047.3818697-9-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20230711202047.3818697-1-willy@infradead.org> References: <20230711202047.3818697-1-willy@infradead.org> MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 341D180021 X-Stat-Signature: yk6cgqyunk1wuidb4s8zhwaed78m7d6i X-HE-Tag: 1689106870-701387 X-HE-Meta: U2FsdGVkX199qi4UMtwjgtfJLQq/lSsQsHVt0BgLzPvWRDHOqlCqWpWt2kq1QM9wrjN34/gjWzWAjfxzFrh4nKcchBzBfRpZibK9Q9Bh2LA+S1A0Lib1OQUTG/alYtREhmIxdlKs7feWkAsV1dwZYB+NNs1XAE3cfWOFBZDgcxhYHOejvjYC1DGhgou7kFNigaZYtCa8d/6ZFxWaw2ftgEUERVgYgxPtqhKpLuK4HPeyyNPWHzfp9pgd4zHr/6qzEDJM0OTdOp31Rl6GCHHe88R7cjVdzPSPzbT+mUgAc71osJHJqvAySWVzp9+hjdveb+OCV16kNbM7ywCBef+GzPdoaE5pe01Ft+Mf0iwAMC3zkxYBWkW1hJVMBZRKbwLktjqpHavmeBkYfCpXB+Cf0Z5EUeg1SObYZhj3hLCGoJZ4LbvKYq1v1pGZLkTABlNgUXHtj0CiOgcd9L/l0ppzfM1TkbUixow0u9H34xcQEb2MN2Cxi+YRJgheS8IaQksZmyQoa3FvPkkCQjzlHwr/Iq+ycSWiT4ITjbFG2VVgvWF5H7lwADphILxm9j96Jn1j9clyEYGckARJp1OCfNgJP5GmRu/BcjHzdRdqv+MXPsoEm1ZNx8lWFy3sviHtXugENblDiGomcb/eaIU5BYwWMQ9HJE5/iw5aeaRzCrIk9SdDEHSjYytsGyAmd8kVXsFC/BJcXAZguyyO4TD9n64e160S7yrQNLoJy8gEn03Gruiv2QX9CdVh36Nw1e8GC2y/DIaljSsPcRawcYNTA8CfkuR8K9c/IqebqEkeQZKHntihhQkyIbIyyrkhHg3FTb6j9TTaiaVqtZSfl06KmcaFnE+KX8sKSDu0Byb00BX7bPlAiD7bLjjTEotTjkcGO473W3+iYtefUAHfML6j2ZcyVfHACtxfczBP9mM8lsk3p/p8Onb9ng8zQhP6KfCF07hw32LZtHNQqs78bkt8vqM O3M9inmI I88YArHBnJwrf6NT0okUqPHmB2bkQqeoyZYBMd7a+jRvFvxEqnBtfS3y2EEpuQPnIRqaMAuIhc1zteA9e5SgLaCybIOefS0kRvQAw48Lc0pp1u1b0bBSkGVOGIqsLmltlWiWUjrgdZV9iLEwylPHjRdTkZxMeaXDIaRyIOB1nPn3YW9SzCrn0V6+ekqPlR444L+L3vSJlpjOeY0OjxaGHo7Zhh2TelkHNZ9V2 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: Provide lock_vma_under_rcu() when CONFIG_PER_VMA_LOCK is not defined to eliminate ifdefs in the users. Signed-off-by: Matthew Wilcox (Oracle) Reviewed-by: Suren Baghdasaryan --- arch/arm64/mm/fault.c | 2 -- arch/powerpc/mm/fault.c | 4 ---- arch/riscv/mm/fault.c | 4 ---- arch/s390/mm/fault.c | 2 -- arch/x86/mm/fault.c | 4 ---- include/linux/mm.h | 6 ++++++ 6 files changed, 6 insertions(+), 16 deletions(-) diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index b8c80f7b8a5f..2e5d1e238af9 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -587,7 +587,6 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr, perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr); -#ifdef CONFIG_PER_VMA_LOCK if (!(mm_flags & FAULT_FLAG_USER)) goto lock_mmap; @@ -616,7 +615,6 @@ static int __kprobes do_page_fault(unsigned long far, unsigned long esr, return 0; } lock_mmap: -#endif /* CONFIG_PER_VMA_LOCK */ retry: vma = lock_mm_and_find_vma(mm, addr, regs); diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 82954d0e6906..b1723094d464 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -469,7 +469,6 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address, if (is_exec) flags |= FAULT_FLAG_INSTRUCTION; -#ifdef CONFIG_PER_VMA_LOCK if (!(flags & FAULT_FLAG_USER)) goto lock_mmap; @@ -502,7 +501,6 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address, return user_mode(regs) ? 0 : SIGBUS; lock_mmap: -#endif /* CONFIG_PER_VMA_LOCK */ /* When running in the kernel we expect faults to occur only to * addresses in user space. All other faults represent errors in the @@ -552,9 +550,7 @@ static int ___do_page_fault(struct pt_regs *regs, unsigned long address, mmap_read_unlock(current->mm); -#ifdef CONFIG_PER_VMA_LOCK done: -#endif if (unlikely(fault & VM_FAULT_ERROR)) return mm_fault_error(regs, address, fault); diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c index 6ea2cce4cc17..046732fcb48c 100644 --- a/arch/riscv/mm/fault.c +++ b/arch/riscv/mm/fault.c @@ -283,7 +283,6 @@ void handle_page_fault(struct pt_regs *regs) flags |= FAULT_FLAG_WRITE; else if (cause == EXC_INST_PAGE_FAULT) flags |= FAULT_FLAG_INSTRUCTION; -#ifdef CONFIG_PER_VMA_LOCK if (!(flags & FAULT_FLAG_USER)) goto lock_mmap; @@ -311,7 +310,6 @@ void handle_page_fault(struct pt_regs *regs) return; } lock_mmap: -#endif /* CONFIG_PER_VMA_LOCK */ retry: vma = lock_mm_and_find_vma(mm, addr, regs); @@ -368,9 +366,7 @@ void handle_page_fault(struct pt_regs *regs) mmap_read_unlock(mm); -#ifdef CONFIG_PER_VMA_LOCK done: -#endif if (unlikely(fault & VM_FAULT_ERROR)) { tsk->thread.bad_cause = cause; mm_fault_error(regs, addr, fault); diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 40a71063949b..ac8351f172bb 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -407,7 +407,6 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access) access = VM_WRITE; if (access == VM_WRITE) flags |= FAULT_FLAG_WRITE; -#ifdef CONFIG_PER_VMA_LOCK if (!(flags & FAULT_FLAG_USER)) goto lock_mmap; vma = lock_vma_under_rcu(mm, address); @@ -431,7 +430,6 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access) goto out; } lock_mmap: -#endif /* CONFIG_PER_VMA_LOCK */ mmap_read_lock(mm); gmap = NULL; diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index b0f7add07aa5..ab778eac1952 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -1350,7 +1350,6 @@ void do_user_addr_fault(struct pt_regs *regs, } #endif -#ifdef CONFIG_PER_VMA_LOCK if (!(flags & FAULT_FLAG_USER)) goto lock_mmap; @@ -1381,7 +1380,6 @@ void do_user_addr_fault(struct pt_regs *regs, return; } lock_mmap: -#endif /* CONFIG_PER_VMA_LOCK */ retry: vma = lock_mm_and_find_vma(mm, address, regs); @@ -1441,9 +1439,7 @@ void do_user_addr_fault(struct pt_regs *regs, } mmap_read_unlock(mm); -#ifdef CONFIG_PER_VMA_LOCK done: -#endif if (likely(!(fault & VM_FAULT_ERROR))) return; diff --git a/include/linux/mm.h b/include/linux/mm.h index 46c442855df7..3c923a4bf213 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -813,6 +813,12 @@ static inline void assert_fault_locked(struct vm_fault *vmf) mmap_assert_locked(vmf->vma->vm_mm); } +static inline struct vm_area_struct *lock_vma_under_rcu(struct mm_struct *mm, + unsigned long address) +{ + return NULL; +} + #endif /* CONFIG_PER_VMA_LOCK */ /*