用户空间读取内核空间变量的值,求助
我现在想在用户空间读取内核函数里面的一个变量的值,怎么取得内核空间中函数变量的地址啊?也就是说在用户空间怎么引用那个内核变量?我想用put_user这个函数,里面的参数怎么填写呢?请前辈们指点下小弟,谢谢 查看/boot/System.map-x.y.z文件:grep 变量名 /boot/System.map-x.y.z
想法,以及做法都是错误的
想法为什么是错误的:内核空间的所有信息,不可能直接从用户空间访问到,除非这部分信息被内核映射到该应用程序的进程空间中。
一句话,内核,通过各种接口,让应用程序来访问,而不是直接设置。
做法是错误的。
使用grep,是能够获得当前内核的符号表,甚至是地址,但它位于内核空间你也用不了。那么,它是为谁用的?
查一下我们的驱动载入内核的过程吧, 这是为我们的这些系统调用准备的。
那么我们怎么办?
标准做法是,你写一个自己的驱动,字符驱动就可以了,把你想传的参数传给它,由它替你完成就可以了。
页:
[1]