start_removing_killable(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… start_removing_killable ✨

okay so this is the start_removing_killable(9) page from the Kernel API Manual, and bestie, it's lowkey a whole vibe. it's about removing names from directories, but like, politely and with permission checks. let's get into it 🫢


🌸 NAME 🌸

start_removing_killable β€” the "prepare to remove a given name, but with permission checking" girlie ✨


πŸŽ€ SYNOPSIS πŸŽ€

struct dentry * start_removing_killable (struct mnt_idmap *idmap ,
struct dentry *parent , struct qstr *name );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • idmap β€” the idmap of the mount. yes ma'am, that's her whole identity πŸ’…
  • parent β€” the directory where you're gonna go find that name πŸ‘€
  • name β€” the name that's getting removed. bye bestie 😭

πŸ’– DESCRIPTION πŸ’–

so here's the tea: locks get taken, and a lookup is performed before anything gets removed from a directory. this is the "look before you leap" moment, fr fr.

then permission checking happens β€” that's MAY_EXEC β€” and it's performed against idmap. permission check is doing main character work here, no cap πŸ‘‘

if the name doesn't exist? boom, an error comes back. not a vibe, but that's how it is πŸ™ˆ

end_removing should be called when the removal is complete, or when it gets aborted. don't leave her hanging, okay? call end_removing. periodt.

⚠️ heads up bestie: if a signal is received or was already pending, the function just aborts with -EINTR. that's it, that's the whole deal πŸ’€

⭐ RETURN ⭐

a positive dentry, or an error. that's the whole menu 🌈


πŸ’œ SEE ALSO πŸ’œ

Kernel file ./fs/namei.c β€” and honestly the whole extended friend group:

check_acl(9), acl_permission_check(9), generic_permission(9), do_inode_permission(9), sb_permission(9), inode_permission(9), path_get(9), path_put(9), path_connected(9), try_to_unlazy(9), try_to_unlazy_next(9), complete_walk(9), may_follow_link(9), safe_hardlink_source(9), may_linkat(9), may_create_in_sticky(9), lookup_fast(9), start_dirop(9), end_dirop(9), kern_path_parent(9), vfs_path_parent_lookup(9), vfs_path_lookup(9), try_lookup_noperm(9), lookup_noperm(9), lookup_one(9), lookup_one_unlocked(9), lookup_one_positive_killable(9), lookup_one_positive_unlocked(9), lookup_noperm_unlocked(9), start_creating(9), start_removing(9), start_creating_killable(9), start_creating_noperm(9), start_removing_noperm(9), start_creating_dentry(9), start_removing_dentry(9), __start_renaming(9), start_renaming(9), start_renaming_dentry(9), start_renaming_two_dentries(9), vfs_prepare_mode(9), vfs_create(9), atomic_open(9), vfs_lookup_open(9), vfs_tmpfile(9), kernel_tmpfile_open(9), end_creating_path(9), dentry_create(9), vfs_mknod(9), vfs_mkdir(9), vfs_rmdir(9), vfs_unlink(9), vfs_symlink(9), vfs_link(9), vfs_rename(9), vfs_readlink(9), vfs_get_link(9), page_get_link(9), page_put_link(9) 🧚


and that's the page!! mwah πŸ’‹ this one's from <pink>./fs</pink> and it's dated <purple>October 2026</purple>, so like… future icon behavior honestly β­πŸ‘‘πŸ¦‹ go call end_removing and stay safe out there bestie πŸ«ΆπŸ’–

πŸ“¦ where this page comes from