linux内核4.8.1于10月7日发布,Linus Torvalds修复了4.8版里一个新bug

15 篇文章 0 订阅

linux内核4.8.1于2016年10月7日发布,修改日志如下:
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.8.1

Linus Torvalds修复了4.8里面的一个重大bug:

commit 0b09f2d43201472327b80f9978cd768b46353a34
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Mon Oct 3 21:03:48 2016 -0700

    Using BUG_ON() as an assert() is _never_ acceptable
    
    commit 21f54ddae449f4bdd9f1498124901d67202243d9 upstream.
    
    That just generally kills the machine, and makes debugging only much
    harder, since the traces may long be gone.
    
    Debugging by assert() is a disease.  Don't do it.  If you can continue,
    you're much better off doing so with a live machine where you have a
    much higher chance that the report actually makes it to the system logs,
    rather than result in a machine that is just completely dead.
    
    The only valid situation for BUG_ON() is when continuing is not an
    option, because there is massive corruption.  But if you are just
    verifying that something is true, you warn about your broken assumptions
    (preferably just once), and limp on.
    
    Fixes: 22f2ac51b6d6 ("mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()")
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Miklos Szeredi <miklos@szeredi.hu>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


参考:
Linus Torvalds 在10月3日发布了Linux 4.8的正式版,在正式发布前他接受了 Andrew Morton 发来的补丁,补丁的目的是修复一个自3.15以来就存在的bug,然而它却导致了比原bug更严重的问题。他在内核邮件列表上对此道歉,称他对 Andrew的补丁本有很高的期望,认为他肯定对递交的补丁进行了充分的测试,但在代码中加入随机的 BUG_ON()意味着测试不够。他在2002年曾经强烈批评过使用BUG_ON()调试bug的方法,但同样的事情却在将近15年后再次发生了。
邮件内容如下:
http://lkml.iu.edu/hypermail/linux/kernel/1610.0/00878.html
http://lkml.iu.edu/hypermail/linux/kernel/1610.0/00883.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值