linux内核:如何删除内核空间中的文件

时间:2016-02-18 06:43:09

标签: file linux-kernel linux-device-driver

我知道强烈不推荐。但是在内核空间中可以做到这一点。

鉴于文件路径,我们可以删除内核空间中的相应文件吗?

1 个答案:

答案 0 :(得分:0)

也许为时已晚,我将尝试回复。正如 Tsyvarev 在他的评论中所说,您可能正在寻找可以在namei.c处找到的vfs_unlink函数。 在实现之前有一个描述,但是一个简单的例子可以是这个 / * fcheck的原型在linux / fdtable.h中,并在给定a的情况下返回文件指针 给定一个文件描述符 * /

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);

我希望它对某人有用。