security/selinux/nlmsgtab.c

Source file repositories/reference/linux-study-clean/security/selinux/nlmsgtab.c

File Facts

System
Linux kernel
Corpus path
security/selinux/nlmsgtab.c
Extension
.c
Size
9600 bytes
Lines
235
Domain
Core OS
Bucket
Security And Isolation
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct nlmsg_perm {
	u16 nlmsg_type;
	u32 perm;
};

static const struct nlmsg_perm nlmsg_route_perms[] = {
	{ RTM_NEWLINK, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELLINK, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETLINK, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_SETLINK, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_NEWADDR, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELADDR, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETADDR, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWROUTE, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELROUTE, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETROUTE, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWNEIGH, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELNEIGH, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETNEIGH, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWRULE, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELRULE, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETRULE, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWQDISC, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELQDISC, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETQDISC, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWTCLASS, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELTCLASS, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETTCLASS, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWTFILTER, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELTFILTER, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETTFILTER, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWACTION, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELACTION, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETACTION, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWPREFIX, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETMULTICAST, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_GETANYCAST, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_GETNEIGHTBL, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_SETNEIGHTBL, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_NEWADDRLABEL, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELADDRLABEL, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETADDRLABEL, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_GETDCB, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_SETDCB, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_NEWNETCONF, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELNETCONF, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETNETCONF, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWMDB, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELMDB, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETMDB, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWNSID, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELNSID, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_GETNSID, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWSTATS, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_GETSTATS, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_SETSTATS, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_NEWCACHEREPORT, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWCHAIN, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELCHAIN, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETCHAIN, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWNEXTHOP, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELNEXTHOP, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETNEXTHOP, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWLINKPROP, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELLINKPROP, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_NEWVLAN, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELVLAN, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETVLAN, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWNEXTHOPBUCKET, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELNEXTHOPBUCKET, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETNEXTHOPBUCKET, NETLINK_ROUTE_SOCKET__NLMSG_READ },
	{ RTM_NEWTUNNEL, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_DELTUNNEL, NETLINK_ROUTE_SOCKET__NLMSG_WRITE },
	{ RTM_GETTUNNEL, NETLINK_ROUTE_SOCKET__NLMSG_READ },
};

static const struct nlmsg_perm nlmsg_tcpdiag_perms[] = {
	{ TCPDIAG_GETSOCK, NETLINK_TCPDIAG_SOCKET__NLMSG_READ },
	{ SOCK_DIAG_BY_FAMILY, NETLINK_TCPDIAG_SOCKET__NLMSG_READ },
	{ SOCK_DESTROY, NETLINK_TCPDIAG_SOCKET__NLMSG_WRITE },
};

static const struct nlmsg_perm nlmsg_xfrm_perms[] = {
	{ XFRM_MSG_NEWSA, NETLINK_XFRM_SOCKET__NLMSG_WRITE },
	{ XFRM_MSG_DELSA, NETLINK_XFRM_SOCKET__NLMSG_WRITE },
	{ XFRM_MSG_GETSA, NETLINK_XFRM_SOCKET__NLMSG_READ },
	{ XFRM_MSG_NEWPOLICY, NETLINK_XFRM_SOCKET__NLMSG_WRITE },
	{ XFRM_MSG_DELPOLICY, NETLINK_XFRM_SOCKET__NLMSG_WRITE },
	{ XFRM_MSG_GETPOLICY, NETLINK_XFRM_SOCKET__NLMSG_READ },
	{ XFRM_MSG_ALLOCSPI, NETLINK_XFRM_SOCKET__NLMSG_WRITE },

Annotation

Implementation Notes