Linus Torvalds:用户程序被破坏永远是Kernel的问题!

http://www.csdn.net/article/2012-12-25/2813136-linus-says-Mauro-shut-up

Linus Torvalds:用户程序被破坏永远是Kernel的问题!

发表于 2小时前499次阅读| 来源 CSDN4 条评论| 作者 王然
摘要:一直以“大嘴”著称的Linux之父——Linus Torvalds又发话了!这回是批评一位Linux Kernel维护者、来自Red Hat的Mauro,大呼:“Mauro, SHUT THE FUCK UP!”

Linux之父Linus Torvalds的发言总是这么强硬,但也许正得益于他的强硬态度,Linux社区才能稳定地发展、前进。和上次大骂NVIDIA不同的是,这回事由在于Linus认为Mauro违反了内核维护的基本原则。他的原话很好理解:

闭上你的臭嘴,Mauro!

这明显是一个bug,Kernel中的bug!你做了多长时间的维护人员了,为什么不明白Kernel维护的第一原则?

如果修改会导致用户程序的破坏,那问题一定是在Kernel上!永远不可以归咎用户程序的责任,学会这点真的很难吗?

更糟糕的是,commit f0ed2ce840b3虽然并没有破坏程序,但它完全是废话。

……

永远不可以破坏USERSPACE!

或许有人觉得Linus的批评太过严厉,但这也正反映出他对Kernel设计、维护原则的坚持,如果没有这种信念,相信Linux很难有今天的地位。希望各位程序员引以为戒!

原文在这里:
http://article.gmane.org/gmane.linux.kernel/1414106


From: Linus Torvalds <torvalds <at> linux-foundation.org>
Subject:  Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
Newsgroups:  gmane.linux.kernel
Date: 2012-12-23 17:36:15 GMT (1 day, 11 hours and 24 minutes ago)
On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab
<mchehab <at> redhat.com> wrote:
>
> Are you saying that pulseaudio is entering on some weird loop if the
> returned value is not -EINVAL? That seems a bug at pulseaudio.

Mauro, SHUT THE FUCK UP!

It's a bug alright - in the kernel. How long have you been a
maintainer? And you *still* haven't learnt the first rule of kernel
maintenance?

If a change results in user programs breaking, it's a bug in the
kernel. We never EVER blame the user programs. How hard can this be to
understand?

To make matters worse, commit f0ed2ce840b3 is clearly total and utter
CRAP even if it didn't break applications. ENOENT is not a valid error
return from an ioctl. Never has been, never will be. ENOENT means "No
such file and directory", and is for path operations. ioctl's are done
on files that have already been opened, there's no way in hell that
ENOENT would ever be valid.

> So, on a first glance, this doesn't sound like a regression,
> but, instead, it looks tha pulseaudio/tumbleweed has some serious
> bugs and/or regressions.

Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
garbage and idiocy from a kernel maintainer again. Seriously.

I'd wait for Rafael's patch to go through you, but I have another
error report in my mailbox of all KDE media applications being broken
by v3.8-rc1, and I bet it's the same kernel bug. And you've shown
yourself to not be competent in this issue, so I'll apply it directly
and immediately myself.

WE DO NOT BREAK USERSPACE!

Seriously. How hard is this rule to understand? We particularly don't
break user space with TOTAL CRAP. I'm angry, because your whole email
was so _horribly_ wrong, and the patch that broke things was so
obviously crap. The whole patch is incredibly broken shit. It adds an
insane error code (ENOENT), and then because it's so insane, it adds a
few places to fix it up ("ret == -ENOENT ? -EINVAL : ret").

The fact that you then try to make *excuses* for breaking user space,
and blaming some external program that *used* to work, is just
shameful. It's not how we work.

Fix your f*cking "compliance tool", because it is obviously broken.
And fix your approach to kernel programming.

               Linus

翻译如下:

From: Linus Torvalds <torvalds <at> linux-foundation.org>
Subject:  Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
Newsgroups:  gmane.linux.kernel
Date: 2012-12-23 17:36:15 GMT (1 day, 11 hours and 24 minutes ago)
On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab
<mchehab <at> redhat.com> wrote:
>
> Are you saying that pulseaudio is entering on some weird loop if the
> returned value is not -EINVAL? That seems a bug at pulseaudio.

Mauro, SHUT THE FUCK UP!

那是一个内核的bug好吧!你维护内核多久了?难道还没有学会内核维护的第一原则吗?

如果一个修改导致用户程序破坏,那就是内核的问题,我们决不能抱怨用户程序。理解这个能有多难?

更糟糕的是,commit f0ed2ce840b3尽管没有破坏用户程序,但它完全是废话!ENOENT不是ioctl的有效的返回值,从来都不是,而且从来都不会是。ENOENT是指"没有这个文件和目录", 它是用在目录操作的。ioctl是用在打开的文件的,所以ENOENT永远不可能是合法的返回值。

> So, on a first glance, this doesn't sound like a regression,
> but, instead, it looks tha pulseaudio/tumbleweed has some serious
> bugs and/or regressions.

Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious
garbage and idiocy from a kernel maintainer again. Seriously.

I'd wait for Rafael's patch to go through you, but I have another
error report in my mailbox of all KDE media applications being broken
by v3.8-rc1, and I bet it's the same kernel bug. And you've shown
yourself to not be competent in this issue, so I'll apply it directly
and immediately myself.

WE DO NOT BREAK USERSPACE!

Seriously. How hard is this rule to understand? We particularly don't
break user space with TOTAL CRAP. I'm angry, because your whole email
was so _horribly_ wrong, and the patch that broke things was so
obviously crap. The whole patch is incredibly broken shit. It adds an
insane error code (ENOENT), and then because it's so insane, it adds a
few places to fix it up ("ret == -ENOENT ? -EINVAL : ret").

The fact that you then try to make *excuses* for breaking user space,
and blaming some external program that *used* to work, is just
shameful. It's not how we work.

Fix your f*cking "compliance tool", because it is obviously broken.
And fix your approach to kernel programming.

               Linus

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值