我需要在内核模块的变量中存储4个字节的(伪)随机数据。稍后此值将存储在磁盘上。这不会用于任何加密目的。只是在使用的值中不应该有可辨别的模式。保证该变量是其成员的结构将通过kmalloc分配。那么我可以安全地使用以下代码吗?
struct header {
__u32 magic;
/* some other members of the struct */
};
struct header *hdr;
/* Memory initialization through kmalloc*/
hdr->magic = (__u32)(unsigned long)(&hdr->magic);
或者我应该从random.h
界面获取数据吗?
答案 0 :(得分:1)
您可以查看/dev/random
和/dev/urandom
的驱动程序如何工作并模仿其行为。