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 AFEFFC71136 for ; Fri, 13 Jun 2025 19:47:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0BB076B007B; Fri, 13 Jun 2025 15:47:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 06BE96B0089; Fri, 13 Jun 2025 15:47:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC3CF6B008A; Fri, 13 Jun 2025 15:47:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id D4CE26B007B for ; Fri, 13 Jun 2025 15:47:52 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 82186101C30 for ; Fri, 13 Jun 2025 19:47:52 +0000 (UTC) X-FDA: 83551412784.29.CF25C28 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf08.hostedemail.com (Postfix) with ESMTP id 5754F16000D for ; Fri, 13 Jun 2025 19:47:50 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="TGNOeiX/"; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749844071; 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:references:dkim-signature; bh=NtPb+JeT+wIzXi5QL7SJJC6CkSioaiKiQuRNkxBXQGg=; b=hqrPTDM1CcN4S2XRPRtGb2VtjQ3JfZyFk0aKhOxv2KoKzhBBZeQ8v8Ergn4vbYJKU3BQLT zd/VwxRAzTD2lXduSObeJ95YvSF/CgVCIFCYXi9EKkbtkNTvDbQd8rcb6QW3pxX4TaFVgO WS5PqEY4XgkIYdOQ4Qu7kvvhqU3+Gv0= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="TGNOeiX/"; spf=none (imf08.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749844071; a=rsa-sha256; cv=none; b=5kU3G1AlMw9fayJxY48Iop6sfLdm6h7q23sw7mZUrzBLIiUTzFPbVBOSq3QQhTsDLJjyJM z634C6LZLQ+sQMSgxZPK694Mf67UkeEXoUpD8UAvssaYTuBnp577zQh3vQ+8kNN9UeN5Wi dpJYpeQHTMw5q0KD1XNlqKLWZltH858= 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: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=NtPb+JeT+wIzXi5QL7SJJC6CkSioaiKiQuRNkxBXQGg=; b=TGNOeiX/81hZ/o2MWXU8pWG4MH QWsZvtaWRiOTOuLbb8huCWF/kwcLbrT4RDH74Lh7czivpoKHRdswbcFLOdSL83A6ko2X6NicaJzuD VkF0UL5w2NaXT5fefvYcf3D3poV5DaIJQkQqIOgdqdo+NMMAe9PJlBhCBEgB5e7Sitzsxjjsh+Rfh TFYZQkHXDnGikD/6DDGRuMIwHuZVERYgbSS0Fy3Qvc/ztPcILw9tyjYT51d5vn1SEATBJ3sMaDywK gvLw06KmPPo/ihjBpnEPbyPbuISHHJDggJB9PnqaCFTsmV41DOqXQT4DoWXfk8/d5sDFeqZDpYkt5 MsrIwkUA==; Received: from willy by casper.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1uQANP-0000000DK0N-1FTr; Fri, 13 Jun 2025 19:47:47 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton , Mike Rapoport Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Subject: [PATCH] secretmem: Remove uses of struct page Date: Fri, 13 Jun 2025 20:47:43 +0100 Message-ID: <20250613194744.3175157-1-willy@infradead.org> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5754F16000D X-Stat-Signature: a1tigsb6ie1c7p8eid4rdnpxx4c35s1p X-Rspam-User: X-HE-Tag: 1749844070-523151 X-HE-Meta: U2FsdGVkX1+nrm4k4WCrrBUw5ivLjEY0q8qGjq+TiPW+FD6y/hN0nrtWtcnxDqbFASagKCLo2fJAaQ5sVyqHg/5jBJI5EuAGiViAwFu4bGrN5+rAQXHglzCfEy6ZvyYMRvRqT/4wNg/yvocYPnnq14Ey8O20OqKs0CO/B477bidLnpiGmISVHZ8bLChGZxIIzZ+VrEtkluA1Yz3jYkyLAPL6kIayTVv2isqx+WwigBTMxzZUp1D5ajuikoBWoBE91YgvCFyiw4LJ9anQ+q4ge3XdpuXIgEr6BI62Ysx7yxmqtKNK84lmB6Z4xyABHH+u56HUlJLsqJc/jF3UM6dVmAPSuNp0cKXbzjdjkkH69ba2obNRe4fbbd83qZBaL/sTEJxFvR3K+PVgY5n1/4VbZlwJTUEbRnAgGcU6q52BWXgNKvIEJCB+Vsn2qQVZmwhBKStxrVUaB4YBu10uVGU/DJho2yQWcXImc9kyLFRuHkfZypLQpmv/335v03IciX68rdwVpj0qN8mSKAse1MSp6mZ9aZrmJcqc9OsFPT7+EwlcMUb2TtwVjNsSyJgXn8H1DROszvBQp5KZp3Ah0Z46pEjgZh02J5nez6CBsTc+cjT1mGXfSStfkHhksa5qUx/GzfOIxNxLek3lwp+DRnT6JvR9zMfqN3Imfy7GATAe/D568zAz7MIYdm7DzaxlwEPaKAQSt+T2O4Zd8tNEa3NGTDoL3c8C459XhFa60fWCck1z4GVJM4Xh/NYIVyxijaNnBa2/l3bwV3GBPtc2IDiiaJSry7gQqoaHWzLYMTk980PoMhb9iE+ruduwhDM5qTefw6PdVeukjsZ0IWh0SRpTvRdtOmbDCG2sE0ZqI2GYXPlyMQGeBNg16AJxNutHEwDla3SCBchr5OrZ/IKkAPXUabajEW4ckRSQjoFFVqcbsmvy+VDEl4JU8VbY5XpBpdpMOfnv2WUopO7lM0QoOmh 36M6ZdVE kq8EpX63UyIN0JAjtssxhIPdsmChxyKLJ/tqrtR2xD9qEKzHZ/g6V5OsJbDY2h1buB1Ly0xY2oIkWOdGrMYlPsNVghsGUo6jsIAyAys7Gs+haZIOuR9IO1j3SvvtKehToqWyDkWWm0CVgyPEbf3stBkKs0B05QqSLNIjqly3c5eFj4AwWA8RGFInJD0p+dylqNLteYr7zwp0oidREryoFUAyzHxcbIEvp5L8/3JVHZhTNU64= 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: Use filemap_lock_folio() instead of find_lock_page() to retrieve a folio from the page cache. Signed-off-by: Matthew Wilcox (Oracle) --- mm/secretmem.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mm/secretmem.c b/mm/secretmem.c index 589b26c2d553..dfa8d8d10bcb 100644 --- a/mm/secretmem.c +++ b/mm/secretmem.c @@ -54,7 +54,6 @@ static vm_fault_t secretmem_fault(struct vm_fault *vmf) pgoff_t offset = vmf->pgoff; gfp_t gfp = vmf->gfp_mask; unsigned long addr; - struct page *page; struct folio *folio; vm_fault_t ret; int err; @@ -65,16 +64,15 @@ static vm_fault_t secretmem_fault(struct vm_fault *vmf) filemap_invalidate_lock_shared(mapping); retry: - page = find_lock_page(mapping, offset); - if (!page) { + folio = filemap_lock_folio(mapping, offset); + if (!folio) { folio = folio_alloc(gfp | __GFP_ZERO, 0); if (!folio) { ret = VM_FAULT_OOM; goto out; } - page = &folio->page; - err = set_direct_map_invalid_noflush(page); + err = set_direct_map_invalid_noflush(folio_page(folio, 0)); if (err) { folio_put(folio); ret = vmf_error(err); @@ -90,7 +88,7 @@ static vm_fault_t secretmem_fault(struct vm_fault *vmf) * already happened when we marked the page invalid * which guarantees that this call won't fail */ - set_direct_map_default_noflush(page); + set_direct_map_default_noflush(folio_page(folio, 0)); if (err == -EEXIST) goto retry; @@ -98,11 +96,11 @@ static vm_fault_t secretmem_fault(struct vm_fault *vmf) goto out; } - addr = (unsigned long)page_address(page); + addr = (unsigned long)folio_address(folio); flush_tlb_kernel_range(addr, addr + PAGE_SIZE); } - vmf->page = page; + vmf->page = folio_file_page(folio, vmf->pgoff); ret = VM_FAULT_LOCKED; out: @@ -154,7 +152,7 @@ static int secretmem_migrate_folio(struct address_space *mapping, static void secretmem_free_folio(struct folio *folio) { - set_direct_map_default_noflush(&folio->page); + set_direct_map_default_noflush(folio_page(folio, 0)); folio_zero_segment(folio, 0, folio_size(folio)); } -- 2.47.2