[PATCH] crypto: allow to assign gfp_t for __crypto_alloc_tfm
From: jaegeuk@kernel.org (Jaegeuk Kim)
Date: 2015-05-19 06:24:38
Also in:
linux-crypto, linux-ext4, linux-f2fs-devel, lkml
From: jaegeuk@kernel.org (Jaegeuk Kim)
Date: 2015-05-19 06:24:38
Also in:
linux-crypto, linux-ext4, linux-f2fs-devel, lkml
On Tue, May 19, 2015 at 01:49:45PM +0800, Herbert Xu wrote:
On Mon, May 18, 2015 at 10:46:56PM -0700, Jaegeuk Kim wrote:quoted
This patch adds a parameter, gfp_t, for __crypto_alloc_tfm. Now EXT4 and F2FS use the crypto engine to encrypt a page when writing it to the disk. That happens during ->writepage and it needs to allocate memory with GFP_NOFS. Otherwise, in the f2fs case, kernel reports such the following warning.Normally crypto structures should only be allocated on control paths where sleeping or swapping is not an issue. Why is ext4 doing crypto allocations on the data path?
Recently, Ted introduced per-file encryption feature as follows. https://lwn.net/Articles/639427/ The call path in fs/ext4/crypto.c is: - writepage - ext4_encrypt - ext4_get_crypto_ctx - crypto_alloc_ablkcipher AFAIK, this way can achieve to reduce memory footprint gracefully. Just before submitting bios, fs allocates the required memory, and then end_io will free them in pair. Thanks,
Cheers, -- Email: Herbert Xu [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo at vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/