start_removing_noperm(9)
π start_removing_noperm(9) β the Kernel API Manual, bestie edition π
okay so this is a page from the Kernel API Manual, section 9, and it's literally all about start_removing_noperm β yes that's a whole mouthful, iykyk. grab a strawberry drink π and let's get into it.
β¨ NAME β¨
start_removing_noperm β get everything prepped to remove a given name, but likeβ¦ without the permission checking. π«Ά
πΈ SYNOPSIS πΈ
struct dentry * start_removing_noperm (struct dentry *parent , struct qstr *name );
that's the whole vibe. one function, two args, returns a dentry pointer. slay.
π¦ ARGUMENTS π¦
parentβ the directory where we're gonna go find that name. it's giving "the folder you're snooping in" energy. πnameβ the actual name that's getting removed. the main character of this whole operation ngl. π
π DESCRIPTION π
okay so here's the tea: this function takes locks and does a lookup before anything gets removed from a directory. like, it does its homework first. iconique behavior honestly. β¨
if the name doesn't exist? boom, an error comes back at you. no name, no removal, that's the rule. π
and listen β when the removal is either done or aborted, you gotta call end_removing. don't leave it hanging, bestie, that's not the move. π
lowkey important: end_removing is the cleanup partner here β whether you finished the removal or bailed on it, it still needs to happen.
π₯ RETURN π₯
a positive dentry π β or an error. that's it, that's the whole return value situation.
π SEE ALSO π
okay this list is long long, but every single one of these is part of the family so we're listing them all, no skipping, periodt. π
the kernel file in question is ./fs/namei.c, and the whole squad is:
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_removing_killable(9)start_creating_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)
like I said. the whole squad. ππ
okay that's the page!! this one lives in ./fs and the version/date situation is October 2026 β so mark your calendar bestie, that's the drop date. ποΈβ¨ mwah, go remove things responsibly π
π
π¦ 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