But I don´t understand why the “Testing” didn’t appeared on the shell.
我认为,这是printk消息抑制的效果. (更准确地说:限速)
检查消息日志或控制台
printk: ### messages suppressed.
串.
如果最近有很多消息,此功能将停止打印消息.
1621 * printk rate limiting,lifted from the networking subsystem.
1622 *
1623 * This enforces a rate limit: not more than 10 kernel messages
1624 * every 5s to make a denial-of-service attack impossible.
1625 */
1626 DEFINE_RATELIMIT_STATE(printk_ratelimit_state,5 * HZ,10);
1627
1628 int __printk_ratelimit(const char *func)
所以,由于开放的系统调用非常受欢迎(只是做一个strace -e open / bin / ls – 我将获得15个开放的系统调用来启动最简单的ls),速率限制将生效.它将限制您的信息仅在5秒内打印一次;单个“爆发”中不超过10条消息.
我只能建议创建一个具有已知UID的特殊用户,并在printk中添加一个UID检查,并在其他printk-in-open代码中添加.