file - Linux 内核 : how to remove a file in kernel space

标签 file linux-kernel linux-device-driver

我知道强烈不推荐。但是确实可以在内核空间中执行此操作。

给定文件路径,我们是否可以删除内核空间中对应的文件?

最佳答案

也许来不及了,我会尽力回复。正如 Tsyvarev 在他的评论中所说,您可能正在寻找可以在此处找到的 vfs_unlink 函数 namei.c . 在实现之前有一个描述,但是一个简单的例子可以是这个 /* fcheck 的原型(prototype)在 linux/fdtable.h 中并返回一个给定的文件指针 给定一个文件描述符 */

struct file *filp= fcheck(fd);
struct inode *parent_inode = filp->f_path.dentry->d_parent->d_inode;
inode_lock(parent_inode);
vfs_unlink(parent_inode, filp->f_path.dentry, NULL);    
inode_unlock(parent_inode);

我希望它对某人有用。

关于file - Linux 内核 : how to remove a file in kernel space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35474590/

相关文章:

c - 编写打印人类可读时间的内核系统调用

linux - TCP/IP 中数据包处理的中断代码是什么?

javascript - 使用 Javascript 将文本文件转换为关联数组

javascript - 如何将 HTML5 File API 与 Unobtrusive JavaScript 一起使用?

linux - 内核模块函数未定义

linux-kernel - 谁调用了驱动程序的probe()

linux - pci_Driver.probe 未被调用

Python 变量和文件

c - 对受我系统的字节序影响的单个整数感到恐惧

linux - 实时Linux - 主线CPU屏蔽或PREEMPT_RT补丁集?