trace_landlo...y_access_net(9)
π trace_landlo...y_access_net(9) β network access denied, bestie
okay so this is a page from the Kernel API Manual and it's literally all about trace_landlock_deny_access_net β the trace event that fires the second a Landlock domain says "nope" to a network operation. it's giving security girlie with a clipboard. let's get into it π
β¨ NAME β¨
trace_landlock_deny_access_net β Network access denied
like, the whole personality is in the name. a network thing got denied. that's the tweet. π¦
β¨ SYNOPSIS β¨
void trace_landlock_deny_access_net (const struct landlock_hierarchy *hierarchy , bool same_exec , bool logged , const struct landlock_blockers *blockers , const struct sock *sk , u16 socket_family , const struct sockaddr_storage *address , int addrlen );
it returns void, so don't go looking for a return value, she doesn't do that π
β¨ ARGUMENTS β¨
hierarchyβ the denying domain's hierarchy node, and it is neverNULL(iconic, honestly). itsidis thedomainfield.same_execβ aboolthat tells you whether the current task entered the denying domain itself. main character behavior check π«Άloggedβ the domain's audit-logging decision for this denial. basically: did we write this down or not.blockersβ request type plus the final missing access subset. neverNULL, bestie, don't even try it.skβ the socket object (neverNULL), but heads up: it's read without a socket lock, so its fields are a best-effort snapshot. it's giving blurry candid photo, not a professional headshot πΈsocket_familyβ au16snapshot of the socket family, used by the verdict.addressβ the authoritative address that the verdict actually checked (neverNULL). the producer copiesaddrlenbytes from the checked address and zeroes out the rest of the storage before emission. and thesockaddr_in.sin_portorsockaddr_in6.sin6_portmember, when present, stays in network endianness β do not come for her byte order βaddrlenβ the validated signed length ofaddress. signed, yes, we know, it's fine.
β¨ DESCRIPTION β¨
this event gets emitted when a Landlock domain denies a network operation. periodt. π₯
the blocker tells you whether the address is a bind policy object or a connect/send policy object β iykyk.
and the flattened port field? it's converted from the checked address to host endianness. or it's -1 when no port was checked at all. and just so we're clear: 0 is a valid checked port, so don't go treating zero like it means nothing, that's so rude π
β¨ SEE ALSO β¨
- Kernel file
./include/trace/events/landlock.h - Landlock trace events(9)
trace_landlock_create_ruleset(9)trace_landlock_free_ruleset(9)trace_landlock_add_rule_path_beneath(9)trace_landlock_add_rule_net_port(9)trace_landlock_create_domain(9)trace_landlock_enforce_domain(9)trace_landlock_free_domain(9)trace_landlock_check_rule_inode(9)trace_landlock_check_rule_net_port(9)trace_landlock_deny_access_fs(9)trace_landlock_deny_ptrace(9)trace_landlock_deny_scope_signal(9)trace_landlock_deny_scope_abstract_unix_socket(9)
ok that's the whole page, you ate that π go forth and trace your denials responsibly πΈ
mwah π this came from ./include/trace/events, dated October 2026, and it's the trace_landlo...y_access_net(9) page β yeah the header truncated it too, we don't know why, we don't ask π§
π¦ 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