Linus终于被劝动:用了30年的Linux内核C语言将升级
点击上方“Java技术江湖”,选择“设为星标”
回复”666“获取全网最热的Java核心知识点整理
文 | 局长
出品 | OSC开源社区(ID:oschina2013)
根据 Linux 内核邮件列表的消息,社区近日讨论了是否要为内核采用现代 C 语言标准。
虽然 Linux 内核在快速发展,但它同时依赖着一些非常古老的工具,其中之一就是内核代码仍在使用 1989 年版本的 C 语言标准——此标准在 30 多年前内核项目启动之前就已经编写完成。从讨论结果来看,这一情况有望在 5.18 版本内核中改变。
Jakob Koschel 在向 Linus Torvalds 递交的补丁 (https://lkml.org/lkml/2022/2/17/1032) 中修复了内核链表相关的预测执行漏洞。
起因是 Jakob 发现了一个问题,Linux 内核广泛使用由 struct list_head 定义的双向链表:
struct list_head {
struct list_head *next, *prev;
};
struct foo {
int fooness;
struct list_head list;
};
struct foo *iterator;
list_for_each_entry(iterator, &foo_list, list) {
do_something_with(iterator);
}
/* Should not use iterator here */
Spring Boot官宣:正式弃用 Java 8
为什么 Java 中“1000==1000”为false,而”100==100“为true?
关注公众号【Java技术江湖】后回复“PDF”即可领取200+页的《Java工程师面试指南》
强烈推荐,几乎涵盖所有Java工程师必知必会的知识点,不管是复习还是面试,都很实用。
评论