https://javapipe.com/blog/iptables-ddos-protection/ kernel.printk = 4 4 1 7 kernel.panic = 10 kernel.sysrq = 0 kernel.shmmax = 4294967296 kernel.shmal ...
分类:
系统相关 时间:
2019-10-27 18:47:56
阅读次数:
156
printk(KERN_CRIT"frames[frame_idx].width:%d, frames[frame_idx].height:%d\n",frames[frame_idx].width, frames[frame_idx].height); 但为什么一个printk会造成kernel ...
分类:
其他好文 时间:
2019-09-21 01:16:34
阅读次数:
124
printk(KERN_CRIT"frames[frame_idx].width:%d, frames[frame_idx].height:%d\n",frames[frame_idx].width, frames[frame_idx].height); 但为什么一个printk会造成kernel ...
分类:
其他好文 时间:
2019-09-08 09:43:42
阅读次数:
119
字符设备驱动程序分析 下面是针对jz2440开发板写的一个led驱动程序,重点不在于该程序,而是以此为例,对字符设备驱动程序框架的分析总结; C / jz2440 leds driver / include include include include include include includ ...
分类:
其他好文 时间:
2019-08-27 17:09:43
阅读次数:
84
在编写驱动过程分析中会遇到许多难找的问题,这时候调试的方法就很重要了,下面介绍的是利用打印的方法调试驱动,这种方法同样可以用在应用的调试过程中,而且很有效。 1、prink的原理 首先介绍一下打印的函数prink的原理,printk的原理是最终打印在终端上的。所以只要是能成为终端的设备均可被打印,比 ...
分类:
其他好文 时间:
2019-08-11 01:05:44
阅读次数:
102
内核中一些通常使用的数据类型有它们自己的 typedef 语句, 因此阻止了任何移植性问 题. 例如, 一个进程标识符 ( pid ) 常常是 pid_t 而不是 int. 使用 pid_t 屏蔽了任 何在实际数据类型上的不同. 我们使用接口特定的表达式来指一个类型, 由一个库定义的, 以便于提供一 ...
分类:
系统相关 时间:
2019-07-07 14:56:13
阅读次数:
119
Compile-kernel-module 1. 内核模块编程1.1 简介1.2 加载内核模块1.3 最简单的模块1.4 模块必要信息1.4.1 内核模块必须至少包含的头文件:1.4.2 内核模块必须至少有两个功能:1.4.3 printk()日志记录1.4.4 优先级1.4.5 许可和模块文档1. ...
分类:
其他好文 时间:
2019-07-04 00:52:51
阅读次数:
123
在内核中使用dump_stack的时候可以看到如下用法: static inline void print_ip_sym(unsigned long ip) { printk("[<%px>] %pS\n", (void *) ip, (void *) ip); } 然后我们就可以看到类似如下的内核 ...
分类:
其他好文 时间:
2019-06-30 15:49:32
阅读次数:
78
在驱动开发的早期, printk 非常有助于调试和测试新代码. 当你正式发行驱动时, 换句 话说, 你应当去掉, 或者至少关闭, 这些打印语句. 不幸的是, 你很可能会发现, 就在你 认为你不再需要这些消息并去掉它们时, 你要在驱动中实现一个新特性(或者有人发现了 一个 bug), 你想要至少再打开 ...
分类:
其他好文 时间:
2019-06-29 15:08:32
阅读次数:
114
printk 函数将消息写入一个 LOG_BUF_LEN 字节长的环形缓存, 长度值从 4 KB 到 1 MB, 由配置内核时选择. 这个函数接着唤醒任何在等待消息的进程, 就是说, 任何在系统 调用中睡眠或者在读取 /proc/kmsg 的进程. 这 2 个日志引擎的接口几乎是等同的, 但 是注意 ...
分类:
其他好文 时间:
2019-06-29 14:48:50
阅读次数:
106