vfs_mknod(9)
π NAME
vfs_mknod β create device node or file. okay so bestie, this is vfs_mknod(9) from the Kernel API Manual, and it's literally about creating a device node or file in kernel land. no cap, it's giving main-character filesystem energy. β¨
β¨ SYNOPSIS β¨
the whole vibe is:
int vfs_mknod (struct mnt_idmap *idmap , struct inode *dir , struct
dentry *dentry , umode_t mode , dev_t dev , struct delegated_inode
*delegated_inode );
π ARGUMENTS π
idmapβ the idmap of the mount the inode was found from, iykyk π«Άdirβ inode of the parent directorydentryβ dentry of the child device nodemodeβ mode of the child device nodedevβ device number of device to createdelegated_inodeβ returns parent inode, if the inode is delegated.
πΈ DESCRIPTION πΈ
bestie, this function literally creates a device node or file. that's the assignment. π
now the important part, pay attention: if the inode has been found through an idmapped mount, the idmap of the vfsmount must be passed through idmap. this function will then take care to map the inode according to idmap before checking permissions. π₯
on non-idmapped mounts, or if permission checking is to be performed on the raw inode, simply pass nop_mnt_idmap. that's the move. π«‘
π SEE ALSO π
the kernel file ./fs/namei.c is the main character here, and it's bringing the whole group chat: 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_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_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).
mwah π that's the page, bestie β source ./fs, dated October 2026, and it's all for vfs_mknod(9). go create something cute (but like, in kernel space). ππ¦
π¦ 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