Linus大神骂人真厉害

2020-06-07 00:00:00 代码 内核 事情 大神 骂人

感受下Linus骂人的感觉吧, 这样你会觉得工作中遇到的那些不愉快就算个鸟事

背景

一个Linux主线的内核维护者提交了一份patch,并说明问题产生的原因是因为应用传的音频有问题。

Linus回复如下

你他娘的给老子闭嘴! 这是一个内核bug好不好,你搞内核主线维护多长时间了?你还没学习过内核主线维护的规则?

如果一个用户程序导致了内核挂壁,这他娘的肯定是内核的问题,我们不能因此责怪用户,这点很难去理解吗?

解释patch 巴拉巴拉……

「Mauro 是一个人的名字,这次Linus发飙主要就是针对他的」

你他丫的给我闭嘴,我再严肃的说一次,我再也不想看到这种白痴的行为发生在一个内核维护者身上。

解释让人合入bug patch,又说自己很忙巴拉巴拉……

WE DO NOT BREAK USERSPACE! 内核是不可能破坏应用空间的任何东西的。

我很严肃的说,理解这条规则很难吗?特别是,我们不应该用一个垃圾打断用户空间, I'm angry「我非常生气」,因为你整个邮件表现出如此可怕的错误,用一些垃圾代码来修补问题。你写的那个补丁就是一坨屎。增加了一个错误代码(ENOENT),脑子锈透了,这代码的漏洞是使用的 「?:」,这样如果想修改代码的判断逻辑就非常麻烦。

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

修好你这个该死的问题吧,它的错误太明显了,还有,修复你进入内核的代码吧。

原文如下:

On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab
<mchehab@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

相关文章