security_xfrm_policy_delete(9)
π security_xfrm_policy_delete β kernel API manual, section 9
okay so bestie, we're in the kernel API manual (security_xfrm_policy_delete(9), section 9, no cap) and this one is a tiny little LSM hook that's basically the bouncer at the door of your SPD π
β¨ NAME β¨
security_xfrm_policy_delete β the vibe check that asks "hey, are we allowed to delete this xfrm policy?"
π SYNOPSIS π
int security_xfrm_policy_delete (struct xfrm_sec_ctx *ctx );
π¦ ARGUMENTS π¦
ctxβ the xfrm security context, aka the little badge that says who this policy thinks it is π«Ά
πΈ DESCRIPTION πΈ
It authorizes the deletion of a SPD entry. That's it, that's the whole job. Literally the "you may pass" gate before a policy gets yeeted out of the Security Policy Database. Slay, honestly π
β RETURN β
Returns 0 if permission is granted. (Yes queen, zero means yes here π)
π₯ SEE ALSO π₯
So... the kernel file ./security/security.c has a lot of friends, and we are not skipping a single one of them. Every single reference, present and accounted for, in order:
lsm_file_alloc(9),lsm_backing_file_alloc(9),lsm_blob_alloc(9),lsm_cred_alloc(9)lsm_inode_alloc(9),lsm_task_alloc(9),lsm_ipc_alloc(9),lsm_key_alloc(9),lsm_msg_msg_alloc(9),lsm_bdev_alloc(9)lsm_bpf_map_alloc(9),lsm_bpf_prog_alloc(9),lsm_bpf_token_alloc(9)lsm_superblock_alloc(9),lsm_fill_user_ctx(9)security_binder_set_context_mgr(9),security_binder_transaction(9)security_binder_transfer_binder(9),security_binder_transfer_file(9)security_ptrace_access_check(9),security_ptrace_traceme(9)security_capget(9),security_capset(9),security_capable(9)security_quotactl(9),security_quota_on(9),security_syslog(9)security_settime64(9),security_vm_enough_memory_mm(9)security_bprm_creds_for_exec(9),security_bprm_creds_from_file(9)security_bprm_check(9),security_bprm_committing_creds(9)security_bprm_committed_creds(9),security_fs_context_submount(9)security_fs_context_dup(9),security_fs_context_parse_param(9)security_sb_alloc(9),security_sb_delete(9),security_sb_free(9)security_free_mnt_opts(9),security_sb_eat_lsm_opts(9)security_sb_mnt_opts_compat(9),security_sb_remount(9)security_sb_kern_mount(9),security_sb_show_options(9)security_sb_statfs(9),security_sb_mount(9),security_sb_umount(9)security_sb_pivotroot(9),security_sb_set_mnt_opts(9)security_sb_clone_mnt_opts(9),security_move_mount(9)security_path_notify(9),security_inode_alloc(9)security_inode_free(9),security_dentry_init_security(9)security_dentry_create_files_as(9),security_inode_init_security(9)security_inode_init_security_anon(9),security_path_mknod(9)security_path_post_mknod(9),security_path_mkdir(9)security_path_rmdir(9),security_path_unlink(9)security_path_symlink(9),security_path_link(9)security_path_rename(9),security_path_truncate(9)security_path_chmod(9),security_path_chown(9),security_path_chroot(9)security_inode_create(9),security_inode_post_create_tmpfile(9)security_inode_link(9),security_inode_unlink(9)security_inode_symlink(9),security_inode_mkdir(9)security_inode_rmdir(9),security_inode_mknod(9)security_inode_rename(9),security_inode_readlink(9)security_inode_follow_link(9),security_inode_permission(9)security_inode_setattr(9),security_inode_post_setattr(9)security_inode_getattr(9),security_inode_setxattr(9)security_inode_set_acl(9),security_inode_post_set_acl(9)security_inode_get_acl(9),security_inode_remove_acl(9)security_inode_post_remove_acl(9),security_inode_post_setxattr(9)security_inode_getxattr(9),security_inode_listxattr(9)security_inode_removexattr(9),security_inode_post_removexattr(9)security_inode_file_setattr(9),security_inode_file_getattr(9)security_inode_need_killpriv(9),security_inode_killpriv(9)security_inode_getsecurity(9),security_inode_setsecurity(9)security_inode_listsecurity(9),security_inode_getlsmprop(9)security_inode_copy_up(9),security_inode_copy_up_xattr(9)security_inode_setintegrity(9),security_kernfs_init_security(9)security_file_permission(9),security_file_alloc(9)security_file_release(9),security_file_free(9)security_backing_file_alloc(9),security_backing_file_free(9)security_file_ioctl(9),security_file_ioctl_compat(9)security_mmap_file(9),security_mmap_backing_file(9)security_mmap_addr(9),security_file_mprotect(9),security_file_lock(9)security_file_fcntl(9),security_file_set_fowner(9)security_file_send_sigiotask(9),security_file_receive(9)security_file_open(9),security_file_post_open(9)security_file_truncate(9),security_task_alloc(9)security_task_free(9),security_cred_alloc_blank(9)security_cred_free(9),security_prepare_creds(9)security_transfer_creds(9),security_cred_getsecid(9)security_cred_getlsmprop(9),security_kernel_act_as(9)security_kernel_create_files_as(9),security_kernel_module_request(9)security_kernel_read_file(9),security_kernel_post_read_file(9)security_kernel_load_data(9),security_kernel_post_load_data(9)security_task_fix_setuid(9),security_task_fix_setgid(9)security_task_fix_setgroups(9),security_task_setpgid(9)security_task_getpgid(9),security_task_getsid(9)security_current_getlsmprop_subj(9),security_task_getlsmprop_obj(9)security_task_setnice(9),security_task_setioprio(9)security_task_getioprio(9),security_task_prlimit(9)security_task_setrlimit(9),security_task_setscheduler(9)security_task_getscheduler(9),security_task_movememory(9)security_task_kill(9),security_task_prctl(9)security_task_to_inode(9),security_create_user_ns(9)security_ipc_permission(9),security_ipc_getlsmprop(9)security_msg_msg_alloc(9),security_msg_msg_free(9)security_msg_queue_alloc(9),security_msg_queue_free(9)security_msg_queue_associate(9),security_msg_queue_msgctl(9)security_msg_queue_msgsnd(9),security_msg_queue_msgrcv(9)security_shm_alloc(9),security_shm_free(9),security_shm_associate(9)security_shm_shmctl(9),security_shm_shmat(9),security_sem_alloc(9)security_sem_free(9),security_sem_associate(9),security_sem_semctl(9)security_sem_semop(9),security_d_instantiate(9)security_getselfattr(9),security_setselfattr(9)security_getprocattr(9),security_setprocattr(9)security_ismaclabel(9),security_secid_to_secctx(9)security_lsmprop_to_secctx(9),security_secctx_to_secid(9)security_release_secctx(9),security_inode_invalidate_secctx(9)security_inode_notifysecctx(9),security_inode_setsecctx(9)security_inode_getsecctx(9),security_post_notification(9)security_watch_key(9),security_netlink_send(9)security_unix_stream_connect(9),security_unix_may_send(9)security_socket_create(9),security_socket_post_create(9)security_socket_socketpair(9),security_socket_bind(9)security_socket_connect(9),security_socket_listen(9)security_socket_accept(9),security_socket_sendmsg(9)security_socket_recvmsg(9),security_socket_getsockname(9)security_socket_getpeername(9),security_socket_getsockopt(9)security_socket_setsockopt(9),security_socket_shutdown(9)security_sock_rcv_skb(9),security_socket_getpeersec_stream(9)security_socket_getpeersec_dgram(9),lsm_sock_alloc(9)security_sk_alloc(9),security_sk_free(9),security_sk_clone(9)security_sk_classify_flow(9),security_req_classify_flow(9)security_sock_graft(9),security_inet_conn_request(9)security_inet_csk_clone(9),security_inet_conn_established(9)security_secmark_relabel_packet(9),security_secmark_refcount_inc(9)security_secmark_refcount_dec(9),security_tun_dev_alloc_security(9)security_tun_dev_free_security(9),security_tun_dev_create(9)security_tun_dev_attach_queue(9),security_tun_dev_attach(9)security_tun_dev_open(9),security_sctp_assoc_request(9)security_sctp_bind_connect(9),security_sctp_sk_clone(9)security_sctp_assoc_established(9),security_mptcp_add_subflow(9)security_unix_find(9),security_ib_pkey_access(9)security_ib_endport_manage_subnet(9),security_ib_alloc_security(9)security_ib_free_security(9),security_xfrm_policy_alloc(9)security_xfrm_policy_clone(9),security_xfrm_policy_free(9)security_xfrm_state_alloc(9),security_xfrm_state_alloc_acquire(9)security_xfrm_state_delete(9),security_xfrm_state_free(9)security_xfrm_policy_lookup(9),security_xfrm_state_pol_flow_match(9)security_xfrm_decode_session(9),security_key_alloc(9)security_key_free(9),security_key_permission(9)security_key_getsecurity(9),security_key_post_create_or_update(9)security_audit_rule_init(9),security_audit_rule_known(9)security_audit_rule_free(9),security_audit_rule_match(9)security_bpf(9),security_bpf_map(9),security_bpf_prog(9)security_bpf_map_create(9),security_bpf_prog_load(9)security_bpf_token_create(9),security_bpf_token_cmd(9)security_bpf_token_capable(9),security_bpf_map_free(9)security_bpf_prog_free(9),security_bpf_token_free(9)security_locked_down(9),security_bdev_alloc(9),security_bdev_free(9)security_bdev_setintegrity(9),security_perf_event_open(9)security_perf_event_alloc(9),security_perf_event_free(9)security_perf_event_read(9),security_perf_event_write(9)security_uring_override_creds(9),security_uring_sqpoll(9)security_uring_cmd(9),security_uring_allowed(9)security_initramfs_populated(9)
not a single one skipped, bestie. we ate and left zero crumbs π
like, that's genuinely the whole page. go forth and delete your policies (with permission) π
cute little sign-off: this one lives in the kernel source file ./security, it's part of section 9, and it's dated October 2026 β mwah, 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