]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
f2fs: remove unreachable code in f2fs_encrypt_one_page()
authorEric Biggers <ebiggers@kernel.org>
Sat, 21 Feb 2026 20:13:16 +0000 (12:13 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 24 Mar 2026 17:20:59 +0000 (17:20 +0000)
Since commit 52e7e0d88933 ("fscrypt: Switch to sync_skcipher and
on-stack requests") eliminated the dynamic allocation of crypto
requests, the only remaining dynamic memory allocation done by
fscrypt_encrypt_pagecache_blocks() is the bounce page allocation.

The bounce page is allocated from a mempool.  Mempool allocations with
GFP_NOFS never fail.  Therefore, fscrypt_encrypt_pagecache_blocks() can
no longer return -ENOMEM when passed GFP_NOFS.

Remove the now-unreachable code from f2fs_encrypt_one_page().

Suggested-by: Vlastimil Babka <vbabka@suse.cz>
Link: https://lore.kernel.org/all/d9dc2ee1-283d-4467-ad36-a6a4aa557589@suse.cz/
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Acked-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/data.c

index 338df7a2aea6bec0dbf80c9e159ffd14aaea47f0..400f0400e13d3ee0e4e625661d059817913f9102 100644 (file)
@@ -2787,7 +2787,6 @@ int f2fs_encrypt_one_page(struct f2fs_io_info *fio)
        struct inode *inode = fio_inode(fio);
        struct folio *mfolio;
        struct page *page;
-       gfp_t gfp_flags = GFP_NOFS;
 
        if (!f2fs_encrypted_file(inode))
                return 0;
@@ -2797,19 +2796,10 @@ int f2fs_encrypt_one_page(struct f2fs_io_info *fio)
        if (fscrypt_inode_uses_inline_crypto(inode))
                return 0;
 
-retry_encrypt:
        fio->encrypted_page = fscrypt_encrypt_pagecache_blocks(page_folio(page),
-                                       PAGE_SIZE, 0, gfp_flags);
-       if (IS_ERR(fio->encrypted_page)) {
-               /* flush pending IOs and wait for a while in the ENOMEM case */
-               if (PTR_ERR(fio->encrypted_page) == -ENOMEM) {
-                       f2fs_flush_merged_writes(fio->sbi);
-                       memalloc_retry_wait(GFP_NOFS);
-                       gfp_flags |= __GFP_NOFAIL;
-                       goto retry_encrypt;
-               }
+                                       PAGE_SIZE, 0, GFP_NOFS);
+       if (IS_ERR(fio->encrypted_page))
                return PTR_ERR(fio->encrypted_page);
-       }
 
        mfolio = filemap_lock_folio(META_MAPPING(fio->sbi), fio->old_blkaddr);
        if (!IS_ERR(mfolio)) {