lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 29 Aug 2022 16:00:12 -0700 From: Sidhartha Kumar <sidhartha.kumar@...cle.com> To: linux-kernel@...r.kernel.org, linux-mm@...ck.org Cc: akpm@...ux-foundation.org, songmuchun@...edance.com, mike.kravetz@...cle.com, willy@...radead.org, vbabka@...e.cz, william.kucharski@...cle.com, dhowells@...hat.com, peterx@...hat.com, arnd@...db.de, ccross@...gle.com, hughd@...gle.com, ebiederm@...ssion.com, Sidhartha Kumar <sidhartha.kumar@...cle.com> Subject: [PATCH 5/7] mm/hugetlb: convert hugetlb_delete_from_page_cache() to use folios Removes the last caller of remove_huge_page() by converting the code to its folio equivalent. Signed-off-by: Sidhartha Kumar <sidhartha.kumar@...cle.com> --- fs/hugetlbfs/inode.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 3b5c941e49a7..7ede356cc01e 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -366,9 +366,9 @@ static int hugetlbfs_write_end(struct file *file, struct address_space *mapping, static void hugetlb_delete_from_page_cache(struct page *page) { - ClearPageDirty(page); - ClearPageUptodate(page); - delete_from_page_cache(page); + folio_clear_dirty(folio); + folio_clear_uptodate(folio); + filemap_remove_folio(folio); } static void @@ -486,15 +486,15 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart, folio_lock(folio); /* - * We must free the huge page and remove from page + * We must free the hugetlb folio and remove from page * cache BEFORE removing the * region/reserve map * (hugetlb_unreserve_pages). In rare out of memory * conditions, removal of the region/reserve map could * fail. Correspondingly, the subpool and global * reserve usage count can need to be adjusted. */ - VM_BUG_ON(HPageRestoreReserve(&folio->page)); - hugetlb_delete_from_page_cache(&folio->page); + VM_BUG_ON_FOLIO(folio_test_hugetlb_restore_reserve(folio), folio); + hugetlb_delete_from_page_cache(folio); freed++; if (!truncate_op) { if (unlikely(hugetlb_unreserve_pages(inode, @@ -993,7 +993,7 @@ static int hugetlbfs_error_remove_page(struct address_space *mapping, struct inode *inode = mapping->host; pgoff_t index = page->index; - hugetlb_delete_from_page_cache(page); + hugetlb_delete_from_page_cache(page_folio(page)); if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1))) hugetlb_fix_reserve_counts(inode); -- 2.31.1
Powered by blists - more mailing lists