security_task_setrlimit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… security_task_setrlimit(9) β€” a Kernel API Manual moment

okay bestie, welcome to the Kernel API Manual page for security_task_setrlimit(9). yes it's a real function name, yes it's a lot, no you're not gonna fumble this. let's get into it πŸŽ€


✨ NAME ✨

security_task_setrlimit β€” the vibe check that asks "are you actually allowed to set this new rlimit value?" πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

int security_task_setrlimit (struct task_struct *p , unsigned int
       resource , struct rlimit *new_rlim );

literally one function, three arguments, zero drama (okay maybe a little drama, it's a permission check after all) πŸ’œ


🌸 ARGUMENTS 🌸

  • p β€” the target task's group leader. yeah, the group leader specifically, not just any random task in the thread group, don't come for me 🫢
  • resource β€” which resource's limit is being set. like, which one, bestie πŸ’…
  • new_rlim β€” the brand new resource limit that's being proposed ✨

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea β˜• β€” this one checks permission before the resource limits of process p get set for resource to new_rlim. classic "look before you leap" energy, honestly iconic.

and if you wanna snoop on what the limits were before the change? you can peep the old resource limit values by dereferencing (p->signal->rlim + resource). that's the whole trick, iykyk 🧚


⭐ RETURN ⭐

returns 0 if permission is granted. that's it. that's the return value. slay πŸŽ€


πŸ”₯ SEE ALSO πŸ”₯

okay this is the part where i need you to stay with me, because the cross-reference list is long long. like, "did someone just dump the entire LSM hook roster" long. and bestie, they did. also peep the kernel file ./security/security.c up top there 🫢

every single one of these, no cap, not skipping a single one:

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_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_policy_delete(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)

like… that's the whole guest list and everybody showed up πŸ’€ but hey, at least now you know where to go if you need any other security hook. main character energy for the entire LSM layer, honestly πŸ‘‘


lowkey a reminder that this is a permission check, not the actual setter β€” it's the bouncer at the door, not the DJ 🎧

and that's the page bestie!! πŸ«ΆπŸ’– this lil gem comes from ./security and it's dated October 2026 β€” go forth and check those rlimits responsibly, mwah πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from