使用insmod加载模块时要注意当模块依赖于另一个模块时,要确保那个模块已被加载,否则会有错误提示,可以去modules.dep文件里面查找。 (推荐使用modprobe命令,此命令会自动加载被依赖的模块,也不需要输入路径信息) (3)lsmod Linux lsmod命令用于显示已载入系统的模块。 执行lsmod(list modules)指令,会列出所有已载入系统的...
sound/ --- 音频相关的驱动及子系统,可以看作“音频子系统”。 drivers/ --- 设备驱动(在Linux kernel 3.10中,设备驱动占了49.4的代码量)。 lib/ --- 实现需要在内核中使用的库函数,例如CRC、FIFO、list、MD5等。 crypto/ --- 加密、解密相关的库函数。 security/ --- 提供安全特性(SELinux)。 virt/ ...
-1:不限制 kernel.pid_max 进程pid号的最大值 kernel.poweroff_cmd 执行关机命令的进程(包括路径) kernel.powersave-nap PPC专用,如果开启,则使用nap节能模式,关闭则使用doze节能模式 0:关闭 1:开启 kernel.print-fatal-signals kernel.printk 该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何...
链表的第一个元素由static LIST_HEAD(modules)建立,见kernel/module.c第65行。如果阅读include/linux/list.h里面的LIST_HEAD宏定义,你很快会明白,modules变量是struct list_head类型结构,结构内部的next指针和prev指针,初始化时都指向modules本身。对modules链表的操作,受module_mutex和modlist_lock保护。 下面就模块结...
它和普通的双向链表非常相似,只是仅包含2个成员next和prev指针,分别指向下一个和前一个list_head结构体。 假设我们的内核中需要定义一个kernel_list的结构体,它除了2个list_head结构体类型成员list1和list2之外,还有1个void *类型成员item,那么它的结构体可以是: 代码语言:javascript 代码运行次数:0 运行 AI代码...
Linux 内核邮件列表(LinuxKernelMailing List, LKML):lkml.org。成为 LKML 的一员,你将与内核开发者们共同讨论内核开发的各个方面。在这里,你可以提交补丁(patch),请求代码审查(code review),讨论架构设计,了解内核开发的最新动态。 补丁往来与代码审查:当你在内核上开发新功能或修复 bug 后,需要提交一个补丁到 ...
顺便一提,由内核选项CONFIG_SYSTEM_TRUSTED_KEYS指定的system trusted key文件(即certs/x509_certificate_list)也会成为system certificate list的一部分。准确来说,它会在内核初始化system trusted klseyring时加入到builtin trusted keyring中。 Kernel启动阶段 ...
我是在Ubuntu14.04的机器上操作的,引导的工具是grub2。这个是默认安装好的,注意不是grub1,所以要修改/boot/grub/grub.cfg。我之前以为是grub1,修改了menu.list,发现根本没用,郁闷了很久。grub.cfg默认是不可写的,所以修改之前要更改文件权限。 chmod +x grub.cfg ...
漏洞利用防御和缓解。 例如为缓解堆喷射(heap spray)攻击,堆内存free list增加随机化处理,即SLAB/SLUB free list ASLR; 例如为防止stack buffer overflow被利用为ROP攻击,引入stack protector; 以及内核地址随机化KASLR等。 信息防泄漏,在敏感场景对特定内存清零。 例如STRUCTLEAK、STACKLEAK、zero-poison after free、...
On-line CPU(s) list: 0-7 # 8核都在线 Thread(s) per core: 2 # 每个核两个硬件线程(Intel超线程技术) Core(s) per socket: 4 # 每个cpu有4个核 Socket(s): 1 # 1个cpu Vendor ID: GenuineIntel # intel的cpu CPU family: 6 # cpu产品系列 ...