3

在我的 Linux Kernel 模块的代码中,我创建了一个kobject,它成为 /sys/ 目录中的一个目录,然后sysfs在其中创建一个文件。所以它看起来像 /sys/KobjName/SysfsFile。这是该kobject目录中唯一的文件,并且在执行命令后sysfs文件和文件kobject都将被删除。rmmod moduleX

目前我的 clean_up 代码moduleX看起来像

static void cleanup(void)
{
    /* Remove test file */
    if (file_ok)
        sysfs_remove_file(kobj, &attributes.attr);

    /* Remove /sys/ddttest directory */
    if (kobj)
        kobject_put(kobj);
}

其中file_ok是一个 0 或 1 的整数,表示sysfs_create_file(kobj, &attributes.attr)执行的函数是否更正(例如,创建了一个文件)。

我现在的问题是是否有必要sysfs在删除kobject. 在用户空间中导航文件系统时,可以简单地删除一个目录,这将删除其中的所有文件。kobject内核空间中的文件系统是这种情况吗?

4

0 回答 0