ecryptfs_dec...ypt_filename(9)
π ecryptfs_dec...ypt_filename(9) β from the Kernel API Manual (section 9, bestie) π
okay so real talk, this is a kernel API page from section 9 of the manual β yes, that section 9, the "these are kernel functions, don't @ me" section. and the function name is literally ecryptfs_dec...ypt_filename with the dots in the middle like it's too emotional to spell the whole thing out π iconic honestly. she's giving mysterious. she's giving ellipsis. let's get into it π¦
β¨ NAME β¨
ecryptfs_decode_and_decrypt_filename β the moment a filename stops being encoded cipher text and becomes decoded plaintext, slay π literally her whole personality.
πΈ SYNOPSIS πΈ
int ecryptfs_decode_and_decrypt_filename (char **plaintext_name , size_t
*plaintext_name_size , struct super_block *sb , const char *name ,
size_t name_size );
look at her. five arguments. returning an int. so confident π«Ά
π ARGUMENTS π
plaintext_nameβ the plaintext name. the glow-up target. where the decoded, decrypted goodness ends up β¨plaintext_name_sizeβ the plaintext name size. gotta know how big the glow-up is, yk? πsbβ Ecryptfs'ssuper_block. her home base, her main character structure πnameβ the filename in cipher text. the before picture π₯²name_sizeβ the cipher text name size. quantifying the mystery π₯
π DESCRIPTION π
Decrypts and decodes the filename. that's it, that's the vibe check. she takes the encoded cipher text name and hands you back the plaintext. queen behavior, no cap π
β οΈ okay bestie, eyes here, this is the important part: it returns zero on error; non-zero otherwise π yes you read that right. zero means it went wrong. non-zero means it went fine. it's the opposite of what your gut says. do not come for me, I don't make the rules, I just report them fr fr. please internalize this before you write any error handling π
π¦ SEE ALSO π¦
the whole friend group π β all of these live in the kernel file ./fs/ecryptfs/crypto.c, and honestly they're all so valid:
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)crypt_extent(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)
like. thirty functions. a whole squad. ecryptfs_encode_for_filename(9) is literally her sister btw, and ecryptfs_decode_from_filename(9) is the cousin who does half her job. family reunion energy π
so yeah, that's the page π sourced from ./fs/ecryptfs, dated October 2026, and filed under ecryptfs_dec...ypt_filename(9) β stay encrypted, stay decoded, and remember: zero means bad ππ π«Άβ¨π
π¦ 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