【发布时间】:2016-03-02 12:30:24
【问题描述】:
我想在 Linux 内核中添加函数来写入和读取数据。但我不知道如何/在哪里存储它,以便其他程序可以读取/覆盖/删除它。
程序 A 调用 uf_obj_add(param, param, param) 它将信息存储在内存中。
程序 B 也是如此。
程序C调用uf_obj_get(param)内核检查是否允许操作,如果允许则返回数据。
我只需要malloc()内存还是更难?
以及uf_obj_get() 如何访问uf_obj_add() 写入的内存?
在哪里存储内存位置信息,以便两个函数可以访问相同的数据?
【问题讨论】:
-
您不能为此使用一些现有的文件系统(可能是
tmpfs,或者在/proc/中添加新条目...)?我相信您不应该为此类事情修补内核 -
@BasileStarynkevitch 我想试试这种方式...
-
您当然不会在内核领域使用
malloc(但有一些kalloc的味道),因为您不会在内核代码中使用C 标准库(它在概念上是独立的)跨度> -
我强烈建议在尝试编写内核代码之前非常熟悉Advanced Linux Programming -in user land-;顺便说一句,您将如何使用新添加的内核函数(在某些驱动程序中,然后是哪个?在某些新的系统调用中?...)?
标签: c linux-kernel read-write