Torvalds 就 Linux Kernel 4.8 存在的 bug 道歉

简介:

Linus Torvalds 在10月3日发布了Linux 4.8的正式版,在正式发布前他接受了 Andrew Morton 发来的补丁,补丁的目的是修复一个自3.15以来就存在的bug,然而它却导致了比原bug更严重的问题。

他在内核邮件列表上对此道歉,称他对 Andrew的补丁本有很高的期望,认为他肯定对递交的补丁进行了充分的测试,但在代码中加入随机的 BUG_ON()意味着测试不够。他在2002年曾经强烈批评过使用BUG_ON()调试bug的方法,但同样的事情却在将近15年后再次发生了。

邮件部分内容如下:

I'm really sorry I applied that last series from Andrew just before doing the 4.8 release, because they cause problems, and now it is in 4.8 (and that buggy crap is marked for stable too).

In particular, I just got this kernel BUG at ./include/linux/swap.h:276 and the end result was a dead kernel.The bug that commit 22f2ac51b6d64 ("mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()") purports to have fixed has apparently been there since 3.15, but the fix is clearly worse than the bug it tried to fix, since that original bug has never killed my machine!

I should have reacted to the damn added BUG_ON() lines. I suspect I will have to finally just remove the idiotic BUG_ON() concept once and for all, because there is NO F*CKING EXCUSE to knowingly kill the kernel.

更多请查看完整版。

Andrew辩解称没有多少人会触发这个问题,但他的辩解再次遭到了Linus的批评,称他口中在少数人相当于几乎所有人。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
4月前
|
Linux 调度 Android开发
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
52 0
|
4月前
|
Linux C语言
Linux内核学习(七):linux kernel内核启动(一):概述篇
Linux内核学习(七):linux kernel内核启动(一):概述篇
65 0
|
4月前
|
Shell Linux 开发工具
linux shell脚本利用 kill -0 检查进程是否存在
linux shell脚本利用 kill -0 检查进程是否存在
62 1
|
19天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
56 0
|
4月前
|
算法 Linux 调度
『 Linux 』进程地址空间存在的意义
『 Linux 』进程地址空间存在的意义
|
4月前
|
算法 Linux API
一文聊聊Linux Kernel的加密子系统【Crypto Subsystem】
一文聊聊Linux Kernel的加密子系统【Crypto Subsystem】
112 1
|
4月前
|
Linux 调度 Android开发
Kernel怎么跳转到Android:linux与安卓的交界
Kernel怎么跳转到Android:linux与安卓的交界
40 0
|
4月前
|
存储 安全 Linux
UBoot怎么跳转到Kernel:uboot与linux的交界
UBoot怎么跳转到Kernel:uboot与linux的交界
53 0
|
1天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
1天前
|
监控 Linux 数据处理