How to communicate with a Linux kernel module from user space without littering /dev with new nodes?

后端 未结 6 1711
孤城傲影
孤城傲影 2020-12-28 21:26

What are the ways to communicate with a kernel module from user space? By communication i mean sending information and commands between the kernel module and a user space pr

6条回答
  •  北海茫月
    2020-12-28 22:22

    debugfs is another good possibility for APIs that are less stable than sysfs, but the API is basically the same. Here is a minimal runnable example.

    configfs is another one. It allows easy dynamic creation of kernel objects from userspace through the filesystem: https://www.kernel.org/doc/Documentation/filesystems/configfs/configfs.txt

    In any case, you will have to dirty some namespace... a filesystem entry in case of sysfs and debugfs. Just choose your poison.

    Also, udev rules make /dev very similar to sysfs and debugfs: How to create a device in /dev automatically upon loading of the kernel module for a device driver?

提交回复
热议问题