从用户空间通过malloc()分配内核内存的问题?

时间:2010-04-01 08:54:22

标签: c linux-kernel

内核是否提供任何保护?因为当我们尝试使用一个分配内存时 malloc()来自用户空间,内核允许分配大约124个 MB内存,当我们尝试写入内存时,内核崩溃了。如果有 是保护内核内存区域,这不会发生

2 个答案:

答案 0 :(得分:5)

在内核空间中没有内存保护。然后,malloc()在内核空间中不可用,那么你问的是什么?

答案 1 :(得分:1)

Allocating memory in the kernel需要特别考虑。如果您可以发布您的代码,或者更好地解释您对内核空间中“保证”内存的需求,那将非常有用。

请记住,内核空间不是_infinite_,在用户空间中内核是管理过度使用的内容。你对内核中的内存有非常非常严格的限制并且很多消费者都在竞争使用它。

同样,如果你发布你的代码,很多这里可以帮助你提出一个更好的设计,我相信你可能需要的。

请注意,该链接来自2006年。这说明了我的另一点,您正在使用的内核的版本