深入理解 Linux 内核模块开发与日志记录
1. 内核函数返回相关及 __init 和 __exit 关键字
在 Linux 内核编程中, goto out_fail_1; 这类代码用于错误处理跳转。同时, ERR_PTR() 、 PTR_ERR() 和 IS_ERR() 这些内联函数都位于 (kernel header) include/linux/err.h 文件中。内核文档(https://kernel.readthedocs.io/en/sphinx - samples/kernel - hacking.html#return - conventions)对内核函数返回约定有详细说明,在 crypto/api - samples 代码里也能找到这些函数的使用示例(https://www.kernel.org/doc/html/v4.17/crypto/api - samples.html)。
__init 和 __exit 是两个重要的宏。 __init 宏为代码定义了一个 init.text 节,用 __initdata 属性声明的数据会被放入 init.data 节。因为初始化函数中的代码和数据在初始化时仅使用一次,调用后就不会再被调用,所以调用后会通过 fr
超级会员免费看
订阅专栏 解锁全文
453

被折叠的 条评论
为什么被折叠?



