While reading the fscrypt code I noticed that some functions use the bounce
and some not.
fscrypt_decrypt_page() and fscrypt_decrypt_bio_pages() work in-place while
fscrypt_encrypt_page() and fscrypt_zeroout_range() use a bounce page.
So, both ext4 and f2fs encrypt data using an extra buffer but decrypt mostly
in-place without the need of an extra buffer.
Why that? I'd assume when decryption can be done in-place also encryption is
I'm working on fscrypt for UBIFS and would like to avoid an extra buffer since
is low on embedded systems.