VOP_GETACL(9)
π VOP_GETACL β the Kernel Developer's Manual page, but make it cute
okay so bestie, welcome to VOP_GETACL(9) from the Kernel Developer's Manual π this is the page about pulling an access control list off a vnode, and we're gonna get through it together, no cap.
β¨ NAME β¨
VOP_GETACL β retrieve access control list for a vnode π¦
β¨ SYNOPSIS β¨
like, here's the whole vibe, literally exactly as it is:
#include <sys/param.h>
#include <sys/vnode.h>
#include <sys/acl.h>
int
VOP_GETACL(struct vnode *vp, acl_type_t type, struct acl *aclp,
struct ucred *cred, struct thread *td);
she's giving kernel function signature and she ate π
β¨ DESCRIPTION β¨
so this vnode call is the one you use when you wanna retrieve the access control list (ACL) from a file or directory. iconic behaviour fr fr πΈ
its arguments are, and listen, we're going through all of them:
vpβ the vnode of the file or directory πtypeβ the type of ACL to retrieveaclpβ a pointer to an ACL structure that's gonna receive the ACL data π«Άcredβ the user credentials used to authorize the requesttdβ the thread that's requesting the ACL
okay so about that cred pointer: it may be NULL to indicate that access control checks are not to be performed, if possible. this cred setting might be used to allow the kernel to authorize ACL retrieval that the active process might not be permitted to do. sneaky? maybe. valid? yes. β¨
also super important: the vnode ACL interface defines the syntax, and not the semantics, of file and directory ACL interfaces. so don't come for her about behaviour, that's not her job bestie π more info about ACL management in kernel can be found in acl(9).
β¨ LOCKS β¨
the vnode will be locked on entry and should remain locked on return. periodt. don't unlock her, don't touch her, she stays locked π
β¨ RETURN VALUES β¨
if the aclp pointer will point to a valid ACL, then zero is returned. otherwise, an appropriate error code is returned. that's it, that's the deal π
β¨ ERRORS β¨
here's the whole roster of ways this can go sideways, and yes we're listing every single one:
[EINVAL]β the ACL type passed is invalid for this vnode π[EACCES]β the caller does not have the appropriate privilege π₯[ENOMEM]β sufficient memory is not available to fulfill the request π[EOPNOTSUPP]β the file system does not supportVOP_GETACL()π
β¨ SEE ALSO β¨
go read these next, bestie, they're all in the friend group:
β¨ AUTHORS β¨
this manual page was written by Robert Watson. thank you king, we appreciate you π«Άπ
and that's the whole page, you're literally a VOP_GETACL expert now, main character energy only β¨
this little cutie came from Debian, dated December 23, 1999, and it's filed under VOP_GETACL(9) β mwah, go forth and retrieve those ACLs ππΈπ¦
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms