crypt_extent(9)
π crypt_extent(9) β Kernel API Manual π
okay so this is crypt_extent(9) from the Kernel API Manual, and bestie, we're about to get into some eCryptfs crypto business. buckle up β¨
πΈ NAME πΈ
crypt_extent β
and that's it. that's the whole name section. the description after the dash is literally blank, no cap, nothing there. the dash is just standing there alone with main character energy π iconic of it honestly.
π¦ SYNOPSIS π¦
int crypt_extent (struct ecryptfs_crypt_stat *crypt_stat , struct page
*dst_page , struct page *src_page , pgoff_t page_index , unsigned long
extent_offset , int op );
β¨ ARGUMENTS β¨
crypt_statβ thecrypt_statholding the cryptographic context for the encryption operation. it's giving "everything you need to know lives in here" π«Άdst_pageβ the page you write the result into. the destination, the landing spot, the final boss π―src_pageβ the page you read from. the source, the origin story π±page_indexβ the offset in the file, in units ofPAGE_SIZE(yes, in units ofPAGE_SIZE, not bytes, don't come for me)extent_offsetβ the page extent offset, used when generating the IV. lowkey crucial π₯opβENCRYPTorDECRYPT, telling us which operation we actually want. pick one, bestie π
π DESCRIPTION π
so what does it actually do? it encrypts or decrypts one extent of data. that's the whole vibe. one extent, in or out, done π§
and it returns zero on success; non-zero otherwise. classic Unix behavior β zero is the happy ending, anything else means something went sideways π
π SEE ALSO π
Kernel file ./fs/ecryptfs/crypto.c, plus this absolutely stacked friend group of man pages (like, the whole ecryptfs extended universe fr fr):
ecryptfs_from_hex(9)ecryptfs_derive_iv(9)ecryptfs_init_crypt_stat(9)ecryptfs_destroy_crypt_stat(9)virt_to_scatterlist(9)crypt_scatterlist(9)ecryptfs_encrypt_page(9)ecryptfs_decrypt_page(9)ecryptfs_init_crypt_ctx(9)ecryptfs_copy_mount_wide_flags_to_inode_flags(9)ecryptfs_set_default_crypt_stat_vals(9)ecryptfs_new_file_context(9)ecryptfs_validate_marker(9)ecryptfs_process_flags(9)write_ecryptfs_marker(9)ecryptfs_code_for_cipher_string(9)ecryptfs_cipher_code_to_string(9)ecryptfs_write_headers_virt(9)ecryptfs_write_metadata(9)set_default_header_data(9)ecryptfs_read_headers_virt(9)ecryptfs_read_xattr_region(9)ecryptfs_process_key_cipher(9)ecryptfs_destroy_crypto(9)ecryptfs_tfm_exists(9)ecryptfs_get_tfm_and_mutex_for_cipher_name(9)ecryptfs_encode_for_filename(9)ecryptfs_decode_from_filename(9)ecryptfs_encrypt_and_encode_filename(9)ecryptfs_decode_and_decrypt_filename(9)
that's the whole page, bestie, you ate that π this one shipped out of ./fs/ecryptfs back in October 2026 β shoutout to the source and the date, mwah, go read the other thirty man pages now πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms