在Linux内核中使用断言
|
我在Linux中有一个关于“ 0”的问题:我可以在内核中使用它吗?
如果不是,例如,如果我不想输入NULL指针,通常使用什么技术?
没有找到相关结果
已邀请:
6 个回复
浮凰量
和
。前者适用于您希望使内核崩溃并导致系统崩溃的情况(即不可恢复的错误)。后者用于要将某些内容记录到内核日志中(可通过
查看)。 就像@Michael所说的那样,在内核中,您需要验证来自用户空间的任何内容并对其进行处理,无论它是什么。 BUG_ON和WARN_ON将捕获您自己的代码中的错误或硬件问题。
誓猎贰
)...
捐焦
)。如果您不想使用NULL指针,那就不要这样做。在使用它之前检查它,并产生一个错误日志。 如果您实际上正在处理一个致命的情况,最可能要执行的操作是
函数或
和
宏,它们将中止执行并产生诊断消息,堆栈跟踪和模块列表。
乐遣杀屎
致命性较小的机制是WARN_ON,它将产生回溯而不会导致内核崩溃。
炬卤遁蝎变
是执行此操作的适当方法。它检查条件是否为真,并调用宏“ 14”。 下一篇文章很好地解释了
如何处理其余部分: http://kernelnewbies.org/FAQ/BUG
河饶办斜施