在内核模块中创建到文件的符号链接

时间:2019-02-21 13:02:32

标签: linux kernel driver sysfs

我正在尝试创建到Linux内核模块中文件的符号链接。使用以下代码,我在sys/kernel中创建了一个目录,然后在该目录中创建了一个文件:

// Create the base directory in sys/kernel
    if (!(pmd_kobjSysKernelDir =
            kobject_create_and_add(PMD_DRIVER_NAME, kernel_kobj)))
        return -ENODEV;

    if ((retVal = sysfs_create_file(
            pmd_kobjSysKernelDir, &dev_attr_sysfs.attr)))
    {
        dev_err(&client->dev,
                "couldn't create %s file \n", dev_attr_sysfs.attr.name);
        return retVal;
    }

现在,我正在尝试创建一个指向文件的符号链接,该链接由dev_attr_sysfs结构表示。问题是,我只发现了sysfs_create_link函数,该函数似乎只能创建目录符号链接(我认为)。有没有一种方法可以使用它来创建到文件的符号链接?如果没有,还有其他专用功能吗?

1 个答案:

答案 0 :(得分:0)

您可以直接致电sys_symlinksys_symlinkat。或者最好查看实现文件fs/namei.c