security/selinux/include/netlabel.h
Source file repositories/reference/linux-study-clean/security/selinux/include/netlabel.h
File Facts
- System
- Linux kernel
- Corpus path
security/selinux/include/netlabel.h- Extension
.h- Size
- 3532 bytes
- Lines
- 138
- 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.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/fs.hlinux/net.hlinux/skbuff.hnet/sock.hnet/request_sock.hnet/sctp/structs.havc.hobjsec.h
Detected Declarations
function selinux_netlbl_cache_invalidatefunction selinux_netlbl_errfunction selinux_netlbl_sk_security_freefunction selinux_netlbl_sk_security_resetfunction selinux_netlbl_skbuff_getsidfunction selinux_netlbl_skbuff_setsidfunction selinux_netlbl_sctp_assoc_requestfunction selinux_netlbl_inet_conn_requestfunction selinux_netlbl_inet_csk_clonefunction selinux_netlbl_sctp_sk_clonefunction selinux_netlbl_socket_post_createfunction selinux_netlbl_sock_rcv_skbfunction selinux_netlbl_socket_setsockoptfunction selinux_netlbl_socket_connectfunction selinux_netlbl_socket_connect_locked
Annotated Snippet
#ifndef _SELINUX_NETLABEL_H_
#define _SELINUX_NETLABEL_H_
#include <linux/types.h>
#include <linux/fs.h>
#include <linux/net.h>
#include <linux/skbuff.h>
#include <net/sock.h>
#include <net/request_sock.h>
#include <net/sctp/structs.h>
#include "avc.h"
#include "objsec.h"
#ifdef CONFIG_NETLABEL
void selinux_netlbl_cache_invalidate(void);
void selinux_netlbl_err(struct sk_buff *skb, u16 family, int error,
int gateway);
void selinux_netlbl_sk_security_free(struct sk_security_struct *sksec);
void selinux_netlbl_sk_security_reset(struct sk_security_struct *sksec);
int selinux_netlbl_skbuff_getsid(struct sk_buff *skb, u16 family, u32 *type,
u32 *sid);
int selinux_netlbl_skbuff_setsid(struct sk_buff *skb, u16 family, u32 sid);
int selinux_netlbl_sctp_assoc_request(struct sctp_association *asoc,
struct sk_buff *skb);
int selinux_netlbl_inet_conn_request(struct request_sock *req, u16 family);
void selinux_netlbl_inet_csk_clone(struct sock *sk, u16 family);
void selinux_netlbl_sctp_sk_clone(struct sock *sk, struct sock *newsk);
int selinux_netlbl_socket_post_create(struct sock *sk, u16 family);
int selinux_netlbl_sock_rcv_skb(struct sk_security_struct *sksec,
struct sk_buff *skb, u16 family,
struct common_audit_data *ad);
int selinux_netlbl_socket_setsockopt(struct socket *sock, int level,
int optname);
int selinux_netlbl_socket_connect(struct sock *sk, struct sockaddr *addr);
int selinux_netlbl_socket_connect_locked(struct sock *sk,
struct sockaddr *addr);
#else
static inline void selinux_netlbl_cache_invalidate(void)
{
return;
}
static inline void selinux_netlbl_err(struct sk_buff *skb, u16 family,
int error, int gateway)
{
return;
}
static inline void
selinux_netlbl_sk_security_free(struct sk_security_struct *sksec)
{
return;
}
static inline void
selinux_netlbl_sk_security_reset(struct sk_security_struct *sksec)
{
return;
}
static inline int selinux_netlbl_skbuff_getsid(struct sk_buff *skb, u16 family,
u32 *type, u32 *sid)
{
*type = NETLBL_NLTYPE_NONE;
*sid = SECSID_NULL;
return 0;
}
static inline int selinux_netlbl_skbuff_setsid(struct sk_buff *skb, u16 family,
u32 sid)
{
return 0;
}
static inline int
selinux_netlbl_sctp_assoc_request(struct sctp_association *asoc,
struct sk_buff *skb)
{
return 0;
}
static inline int selinux_netlbl_inet_conn_request(struct request_sock *req,
u16 family)
{
return 0;
}
static inline void selinux_netlbl_inet_csk_clone(struct sock *sk, u16 family)
Annotation
- Immediate include surface: `linux/types.h`, `linux/fs.h`, `linux/net.h`, `linux/skbuff.h`, `net/sock.h`, `net/request_sock.h`, `net/sctp/structs.h`, `avc.h`.
- Detected declarations: `function selinux_netlbl_cache_invalidate`, `function selinux_netlbl_err`, `function selinux_netlbl_sk_security_free`, `function selinux_netlbl_sk_security_reset`, `function selinux_netlbl_skbuff_getsid`, `function selinux_netlbl_skbuff_setsid`, `function selinux_netlbl_sctp_assoc_request`, `function selinux_netlbl_inet_conn_request`, `function selinux_netlbl_inet_csk_clone`, `function selinux_netlbl_sctp_sk_clone`.
- Atlas domain: Core OS / Security And Isolation.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.