fscrypt_get_symlink(9)
π fscrypt_get_symlink(9) π
okay bestie, so this page lives in the Kernel API Manual and it's literally all about fscrypt_get_symlink β the function that goes and gets you the target of an encrypted symlink. yes, encrypted symlinks are a whole thing and yes, this is the vibe. π
β¨ NAME β¨
fscrypt_get_symlink β get the target of an encrypted symlink π¦
πΈ SYNOPSIS πΈ
const char * fscrypt_get_symlink (struct inode *inode , const void
*caddr , unsigned int max_size , struct delayed_call *done );
like, that's the whole signature, no cap. four args, one const char * coming back at you β¨
π ARGUMENTS π
inodeβ the symlink inode, aka the main character here πcaddrβ the on-disk contents of the symlink. like, literally the raw bytes sitting on disk π«Άmax_sizeβ size of thecaddrbuffer, so we know how much we're working with πdoneβ if it works out, this gets set up to free the returned target if needed. very "we'll handle cleanup later" of it π
β DESCRIPTION β
so here's the tea: if the symlink's encryption key is available, we decrypt its target. slay. π
otherwise? we encode its target for presentation. still iconic, just a different path.
β οΈ heads up bestie β this may sleep, so the filesystem must have dropped out of RCU mode already. not me stressing the RCU part, it's fr fr important π
π₯ RETURN π₯
the presentable symlink target, or an ERR_PTR. that's it, that's the deal β¨
π SEE ALSO π
Kernel file ./fs/crypto/hooks.c β go read it, iykyk π
fscrypt_file_open(9)fscrypt_prepare_lookup_partial(9)fscrypt_prepare_setflags(9)fscrypt_prepare_symlink(9)fscrypt_symlink_getattr(9)
all the fscrypt besties, linked up π«Ά
and that's the page!! π this one came from ./fs/crypto and it's dated October 2026 β so like, future vibes only. drink water, check your RCU mode, bye bestie πβ¨
π¦ 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