Linus大神又怒了 呃...我为什么要说“又”?

Linus大神实乃性情中人,口无遮拦。继称OpenBSD开发者是一帮自慰的猴子、  调侃digg用户是“手淫的海象”、以及 对
Nvidia 比中指爆粗
 后,又有不懂事的人惹大神发怒了。

这回事由在于Linus认为Mauro违反了内核维护的基本原则。他的原话很好理解:

闭上你的臭嘴,Mauro!

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

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

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

……

永远不可以破坏USERSPACE!

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

http://thread.gmane.org/gmane.linux.kernel/1413835/focus=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, 17 hours and 45 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

时间: 2024-11-01 15:13:07

Linus大神又怒了 呃...我为什么要说“又”?的相关文章

听说这篇文章搜罗了编程界最牛的12位大神

简评:是的,你没有看错,本文中出现的每个人都是不折不扣的大神,每一个都战力爆表.他们是程序界的先驱,他们所做出的贡献或多或少地影响着我们的生活,被世人瞻仰.当然,这篇文章也不是纯粹的供人敬仰膜拜,小编则是希望这些大神能成为我们普通人学习的榜样,奋斗的目标.也许在20年后,不懈努力刻苦学习的你也能出现在这份榜单中,成为大神俱乐部中一员呢?谁知道呢? 在这篇文章里面,我们将会看到 12 位空前最伟大的程序员(排名不分先后),下面就开始吧! 1. Dennis Ritchie  Dennis MacA

新人求助各位大神,mvc中如何利用NPOI读取本地的excel文件,存入数据库中

问题描述 谢谢各位大神,因为做的项目中用到这个功能,完全不懂啊,特来求助!拜谢!!! 解决方案 解决方案二:http://www.tuicool.com/articles/EBV3Az解决方案三:本地是指客户端,还是服务端?npoi的读取本身都是要在服务端的解决方案四:这个网上实在太多解决方案五:本地指的是客户端啊,客户在网页上点导入之后,给excel导入到数据库中,然后显示在页面上.@娃都会打酱油了解决方案六:谢谢@caozhy@正怒月神

想用mvc5做一个简单的在线考试系统,求大神指点

问题描述 想用mvc5做一个简单的在线考试系统,求大神指点!!!!留下qq或者其他,详聊 解决方案 解决方案二:http://test.icesoft.cc我刚搞完的,看合不合口味,结贴给源代码解决方案三:引用1楼Acyk的回复: http://test.icesoft.cc我刚搞完的,看合不合口味,结贴给源代码 晕!难道不能输出为一张完整的试卷吗?为什么一题一屏幕,而且还不断刷新页面呢?解决方案四:引用楼主qq_24733397的回复: 想用mvc5做一个简单的在线考试系统,求大神指点!!!!

求助,请教各位大神一个rdcl报表数据显示的问题

问题描述 我想RDCL报表中只显示datagridview中查询出的数据.但是现在报表是显示数据表中所有的数据,与datagridview中显示的数据完全无关.我想请问一下该如何实现只显示datagridview中的数据到报表呢? 解决方案 解决方案二:说明报表和datagridview使用的不是同一个数据源.那么你直接修改成同一个数据源就好了.解决方案三:修改成同一个数据源还是不行啊,,,怎么样实现rdlc报表读取的是datagridview中的数据而不是数据源中的数据呢..貌似只要读取数据源

请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)?

问题描述 请教各位算法大神,acm一道题:赋权无向图的最小权值遍历用什么算法(存在负权值)? 1C 如题,问题是这样的:有一赋权无向连通图,可以从任意一结点出发,求遍历所有结点的最小权值路线.结束点也是任意的,每个节点也没有访问次数的限制,但必须每个节点都要被访问到.,想问一下用什么算法呢? 解决方案 可以参考djstera算法,求最短路径~借鉴其中的标记功能,只不过结束状态标志是所有节点均已遍历. 解决方案二: 可以参考djstera算法,求最短路径~借鉴其中的标记功能,只不过结束状态标志是所

控件-mscomm串口波形绘制范例,求大神解析这三个函数,急急急,绘制波形图的原理是什么,拜托了

问题描述 mscomm串口波形绘制范例,求大神解析这三个函数,急急急,绘制波形图的原理是什么,拜托了 //串口void CPort_testDlg::OnComm() { //if(stop)return; VARIANT m_input1; COleSafeArray m_input2; long lengthi; BYTE data[600]; CString str; int ai=0bi=0ci=0di=0; int sum=0; if(m_Comm.GetCommEvent()==2)

大神们!!百度地图api中标签信息的抓取啊。前js后C#。

问题描述 大神们!!百度地图api中标签信息的抓取啊.前js后C#. 是这样的,一个地图api的调用,我需要获取到百度地图api上的搜索出来的信息,可是获取不到啊啊啊... 解决方案 js版的百度地图还是其他版本的? js版本的,C#是运行于服务器端的,无法直接获取客户端的数据.js搜索后你自己即那个解码后的信息用ajax回发到服务器进行获取

tring 宽字符 ++-老问题了c++,VS2013,CString宽字符,求大神

问题描述 老问题了c++,VS2013,CString宽字符,求大神 直接上代码,道理我都懂,求个解决方法 void CMFCApplication9Dlg::OnBnClickedButton01() { CString ID, Name; GetDlgItem(ID_xuehao)->GetWindowText(ID); GetDlgItem(ID_xingming)->GetWindowText(Name); CString str, text; str = _T('学号:') + ID

我是个学生,求大神指教!!!

问题描述 我是个学生,求大神指教!!! 题目是:有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一个函数实现以上功能#includeint input(int *p){ int i=0; do { scanf(""%d""p+i); i++; }while(*(p+i-1)!=-1);return i-1; }int* mv(int nint mint p){ int ib[100]*c=NULL; for(i=0;i<m;i++) {