Linus: Don't bother with grsecurity. Their patches are pure garbage
spinics.net
spinics.net
> They aren't split up, there has never been any effort by you to make them palatable to upstream, and when somebody else dioes try to make them palatable to upstream, you start crying about how people are taking advantage of your work (hah), and try to make them private instead.
...
> It's literally less work for people to re-implement things than look at your mixed-up patches, and YOU SEEM TO BE DOING THAT ON PURPOSE.
> Now, prove me wrong. Start trying to integrate your work upstream, and send individual patches with commit logs that can be integrated.
Clearly a load of crap. I think they should quit being spicy and think about what they should be doing instead.
Do many people have a taste for kernel drama and Linus antics? I mostly just want the software.
I have a lot of respect for their work. It's just a shame that their toxic communications will make the good things they do so much less likely to be widely adopted.
If you can't handle the truth, then every truhful communication can be "toxic" to you.
I mean, somebody can give you a block on gold unpolished and unwrapped. Sure, you can say, "How dare you give me that gold unwrapped! There is no way I am taking it. I demand you give that wrapped up property in fancy paper and tied with a ribbon." Sure you can say that. But the loss will be all yours. You got the shit anyway and gained no gold...
So the point is, if it the speaker who has to gain something by getting their point across, sure. They will have to be diplomatic. But when someone, halfway across the world is teaching you something from their ridiculously singular experience, seemingly in a rude way...
You shut up and listen.
A better analogy might person A be handing person B back an improvement on person B's own recipe. However, the improvement is written on a piece of paper drenched in piss.
Don't forget, the entire reason grsecurity is able to exist at all is because the Linux kernel is open source and because countless of volunteers and companies have dedicated their time and energy doing exactly what grsecurity fails to do, contributing back in a manner which makes live livable for the maintainers. Each and every one of them could've decided to not bother properly splitting up patches, to not bother documenting their changes properly, and they personally wouldn't have been worse off in a lot of cases. However, because they decided to use proper communication skills (eg. not be a dick), everyone wins.
> Ones attitude in contributing that code is another large part of what makes the work "gold".
Even if the analogy meant we were talking about the code being the gold, this wouldn't make sense. The machine only executes code, regardless of the attitude of who wrote it.
"And he put his arm around my shoulders and we went for a little walk and he said, Randy, it’s such a shame that people perceive you as so arrogant. Because it’s going to limit what you’re going to be able to accomplish in life. What a hell of a way to word “you’re being a jerk.” [laughter] Right? He doesn’t say you’re a jerk. He says people are perceiving you this way and he says the downside is it’s going to limit what you’re going to be able to accomplish.
(0)https://en.m.wikipedia.org/wiki/Randy_Pausch
(1)http://www.cmu.edu/randyslecture/> it’s going to limit what you’re going to be able to accomplish in life...
Sure. But the counter point is that it is also going to limit what you can learn (and hence achieve) if you are only willing to take lessons wrapped in fancy paper..
what my point was here, is in this situation I think it is difficult to argue if Linus (And our IT community at large) had more of an attitude like the 'Lucky Ten Thousand' [0] not only would I think that have a much more positive effect on our code, it would in all aspects of technology and culture. yes you can easily have success with arrogance (I certainly have the problem every once in awhile albeit I usually vent when alone not at others unless it was started by someone else) that is not the point, the success could have been bigger and better if people worked together. personally I would like to see true open source GNU/source-phone(pardon the name) installation on smartphones so we stop having to sell our souls to apple/google/other major player and see solutions like that could be obtained with more cooperation and well reasoned and calm debate rather than inflammatory remarks.
[0] https://www.xkcd.com/1053/
##this part is a rant and can be safely ignored. just to add one more note, compare reddit and HN. I think you will find people solving more complex issues and having more elegant solutions and discussion on here rather than Reddit... I find it is unfortunate that we sitll need to censor ourselves here because there are some topics that generate very emotional responses (my opinion) rather than being able to have constructive conversations, in order to keep the beauty we have here we have had to self sensor some topics and that makes me sad, I love this community and the discussions we have here, but if we cannot figure out a framework to have healthy debates about taboo topics, how can we expect others? I realize that is an elitest comment but there are a lot of smart people here and we still struggle.
Imagine Randy worked for you, or under you on a project.
I've been on teams where people left quietly or loudly because of "Randies", going through the pains to change jobs.
Will you still have the same response for Randy?
Also, jerk-circlejerk is a construct sometimes used as a protection from overly emotional people to actually get things done.
It is an emotional outburst, not learning material.
You are talking as if they wanted it to be upstreamed in the first place, which isn't quite obvious from this email.
> I've no doubt Brad is smart, but the play reads like an attempt at a Xanatos Gambits where he technically makes his fixes public, but deliberately keeps them tough to use, so his competitors get horrid press if they don't use the fixes, but have to expend more resources than necessary in order to use them, furthering his market posture.
https://www.reddit.com/r/linux/comments/6j7saq/linus_torvald...
You are incorrectly assuming grsec guy wants the changes[1] in the mainline Linux kernel - this would destroy a huge fraction of the value proposition. In a follow-up message, Linus directly challenged them on how they intentionally make their patches hard to upstream (and how they complain about 'leeching' if someone does attempt to upstream - talk about lack of self-awareness).
1. He might not mind old changes, but the quicker the new patches get upstreamed, the less valuable the patchset becomes for their paying clients
Seems a strange thing to say for a company whose revenue is completely dependent on a product, and it's source code, which they obtain for free, to modify and sell for profit.
It's a shame - there's a lot of good stuff in grsec/PaX, but I think the upstream community is better off without the people involved. The KSPP effort to upstream grsec/PaX features is, of course, a good thing.
[disclaimer: upstream developer who lurks on kernel-hardening]
I wish there was a way to take personalities out of this and let mainline merge the useful parts of grsec.
Grsecurity creates patches for issues in upstream, but their patches are too fucking big/ugly, so nobody upstream really wants to merge them, and when someone tries to fix em (take the important bits out), grsecurity complains about them using their work.
Grsecurity then say they don't feel like doing a lot of work on their patches when they're not paid to do it.
Mailing list is not the code.
If he starts filtering on the web server or rejecting direct source requests, he starts violating the letter of GPL 2.
In any case, if what you say is correct, the grsecurity team are still trying to hold the threat of a more annoying experience over their users in order up prevent them from exercising their rights under the GPLv2.
If you take an open source product, modify it and only use it in-house you don't have to provide source code to anyone.
Grsecurity is important to some people, not all, and vice versa for the features and backwards compatibility crowd.
Personally I'd hope someone in Linus position would see both sides of the fence, but he doesn't and always has some mouthy outrageous opinion. So this is zero surprise.
That is, backwards compatibility deserves that high bar. Ideally, you could get security without breaking things. If you can't, at least use care and take incremental steps to get things in.
Some evidence in favor is that, at least in the early days of Linux, Microsoft took the same strategy of prioritizing backwards compatibility over security - and reaped the rewards by becoming extremely popular and extremely full of security holes. So clearly the strategy worked for MS. On the other hand, MS did respond and prioritize security, and was able to pull it off without compromising backwards compatibility too much. (For instance, last week's stack-clash vulnerability straight up doesn't exist on Windows because MSVC and the NT kernel have been doing the right thing with stack probes for years.)
But some real evidence against is that this whole backwards-compatibility thing is a kernel policy, not a userspace policy; no distro cares nearly as much. With the a.out to ELF transition and libc5 to libc6 transition back in the day, and to this day with OpenSSL versions, the GCC 5 libstdc++ ABI change, etc., there's not a ton of backwards compatibility in what binaries you can actually run on a real-world Linux system. It seems hard to believe that the kernel-to-userspace compatibility story is what made Linux popular, given the vast amount of userspace-to-other-userspace incompatibility.
Rehashing MS's 90s-00s history of prioritizing security creates an unfair assumed comparison. Linux doesn't get to control userland the way MS does. I don't want to belittle MS's efforts, but the attack vector is a lot smaller in NT. Linux has way more features and use cases than the NT kernel ever has (maybe by an order of magnitude). We also don't have the complete picture on NT because of the source being closed.
> With the a.out to ELF transition and libc5 to libc6 transition back in the day, and to this day with OpenSSL versions, the GCC 5 libstdc++ ABI change, etc
You need to remember that Linux's use cases are way bigger than being able to build C binaries and stay forward with SSL. It's easy to forget, but Linux is hardly just servers, they are probably the biggest embedded foot print outside the no-OS or RTOS space, tons non-PC peripheral and consumer electronic applications. You're calling out one set of features that a huge swath of Linux consumers probably never touched for a decade (remember its only been recently that embedded applications have communicated over a network, or had to do so securely).
You're right about that priority for the vast majority of the Linux user-base, but that's a characteristic of those users and developers, not of kernel software in general.
He sets high standards. Meet them. I don't believe any forks have really done well. His method works, as abrasive as it may appear.
I've always wondered, if the grsec people are such believers of 'security above all else', why they just don't work with OpenBSD instead.
It's because most of the people who get upset about Linus, have never heard of Theo. The ones who have, tend to think he's worse.
[citation needed]
You can see why Google wants to move to its own OS when Linus has that attitude.
Besides, it's bullshit that you can't have ABI stability and security. It feels to me like Linus is still in the "I never write bugs" stage of denial, despite the evidence.
In other words, no customer is going to distribute the patches because they will have wasted money and lost access to updates. This is very reminiscent of free speech chilling effects, and I'm surprised none of the copyright holders in Linux (myself included) have teamed up to sue them.
Long story short, the general community (including distributions) no longer has access to new patches making grsecurity useless for the community.
Unethical, probably - illegal, probably not. The GPL dictates what you can do once code hits your hands (or binaries compiled with), it doesn't prevent companies from selling it to you or what contract they do it under.
> You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
The central right granted under the GPL is, of course, the right to modify and redistribute the source. I'm not a lawyer, and I'm certain that Grsecurity could find a number of legal arguments that what they're doing is allowed (likely starting with the claim that terminating a relationship with a customer isn't legally imposing a restriction on that customer's actions), but the idea that they're in violation of the GPL isn't pulled from thin air.
Someone will have to set up an automatic snail mailer.
If they do not respect that, they are explicitly violating GPL.
I'm no lawyer, but the spirit of the law or a contract matters. You can't avoid a speeding ticket because the wheels of your car wasn't touching the road in the photo :)
I'm no lawyer, but I highly doubt it'll hold. And buying Linux from them could be very toxic as "GPL violation" => "termination of license" -- and I'm not sure how you go about getting a new license :)
But punishing people for exercising their rights, is quite similar to placing restrictions on said rights.
I'm no lawyer, but you generally can't out-smart the law :)
IANAL either, in case that wasn't obvious.
>With no technical content coming from your end, there's no need to discuss anything further -- don't waste your time because I won't reply.
I don't think there will be any further discussion.
Wouldn't it be nice if you didn't demand free work of us in our free time? seems an odd line, but is there some context for the non-Linux person on what is going on?
200x? - grsecurity patchset is introduced and fixes a lot of bug-classes (!) and introduces lot's of security improvements to the kernel that are ground breaking and find their way in other systems like *BSD / Windows
200x-201x - code and trademarks of grsecurity get ripped from embbedded vendors - Linux foundations does nothing because they don't pursue GPL violations - no intent from grsecurity to upstream their work - at least without getting paid for it.
2016-2017: - Linux foundation founds KSPP and works on integrating basically PaX/grsecurity into mainline - does not even ask grsecurity or PaX if they want to get paid for helping but they are flamed at and bothered with inquiries from devs - according to grsecurity most of KSPP work is copy&paste the grsecurity code without deeper understanding - introducing even new vulns - grsecurity only publishes patchset for current mainline kernel, no more long term releases
2017: - things are escalating, grsecurity patches go dark - lot's of rants and hate from all sites.
now: - this mess.
I can see the point from the grsecurity guys - they produced ground breaking research and it got ripped of everywhere and Linux foundation does not protect it's interests because the corporations don't want GPL enforcement (not related to the current dark patchset) and they don't even bother offering them money for the work to integrate this stuff. The bad mouthing from Linus is quite idiotic if you consider that most, if not all kernel vulns did not affect grsecurity in the past years. It's also true that the patchset breaks code depeding on the settings in plenty of ways.
Add lot's of rants and flames, big ego, personal attacks from grsecurity to Linux devs and vice versa...not exactly professional. Not sure what was/is going on beyond that.
At least that's some outsider Twitter/Mailinglist perspective. It's not black and white and IMHO Linux Foundation and KSPP have some explaining to do.
This is the part I don't get. They produced ground breaking research on a GPL platform, what did they expect to happen?
Your posts don't make sense to me, and I've been observing this whole mess for a very long time. What you're saying reads as if the Linux Foundation should be the heavies for a private company that has never-not-once played by the same rules as the cooperative development community they work outside of.
I don't follow this stuff closely, but I believe that the KSPP was started by Kees Cook because other approaches had failed: grsecurity/PaXTeam had been unwilling to cooperate to get their patches upstream for a long time, so the only way to move things forwards for everybody was to re-implement the functionality without PaXTeam.
Your tone seems to suggest that some obligation exists that some obligation exists to do more than share the source to any improvements.
This obligation is wholly and totally imaginary. Its as if someone gave another party an entire farm and in the contract specified that he could eat some of the food that grew from it and that someone threw a fit when the first party walked up and made a sandwich.
Seeing as there is no sane and legal way to require anyone to pay for said patches the reasonable way to fund such an effort is to get the community to voluntarily fund such an effort with whatever platform is most useful preferably in advance.
It seems that they have instead chosen to rely on a mixture of manufactured drama, illegal threats, and general unpleasantness to keep their efforts from being well integrated with mainstream. While this remains so they can offer definable value.
In the long run I predict bankruptcy and irrelevance for a company that few care about now and none will care about later.
I'm having trouble seeing, apart from ignorance or misinformation, why anyone would condone GRSecurity. The code is helpful but you wouldn't want the authors in a position of authority over the operating system of a billion-plus computers.
Right now, most arguments in defense of GRSecurity are simply: "Two sides are arguing, therefore they're both wrong. Aren't I smarter for pointing it out?"
> Their research are in no way 'directly derivative' of the linux kernel. Their implementation was based on linux
This means that it's captured under the GPL, and anyone can do as they like pursuant to the license (which grsecurity has attempted, repeatedly, to constrain in contravention of that license), and that this guy has an a-gen-da and something to sell you.
Spender (and PaXTeam) has consistently claimed for many years that although he owns a software company whose sole product is a kernel patchset (and they are the only people who develop that patchset) that all grsecurity work is done in their free time. Which means that nobody (including their paying customers) is paying them for grsecurity development.
This usually comes up when Spender wants to claim that Linux has a lot of money in its development and that it is unreasonable that he, the poor developer he is, should work on upstreaming his patches. Personally it always struck me as dishonest.
I recently had an argument with them about this, which was "fun"[1].
I don't get Linus in this point, and suspect so far that he is wrong, or that I didn't get it yet.
Do the old buildings automagically get updated to the new standard everyone is using? Does the city shut down every business in a building that doesn't match standard (= break software) until that building is retrofitted (which is time-consuming and costly)? That's what breaking backwards compatability does, it stops people from doing their thing until someone fixes it (sometimes it's on them, sometimes it's on you). And not everyone can afford a 'drop everything now to fix the issues brought up by the kernel release'.
In any case, a good way to get people to not use your product is to keep breaking it.
> Sometimes even old buildings need to be retrofitted, and that is then what is done.
Is it? There was a very famous fire in London just a couple of weeks ago, of a building which wasn't up to standard, yet filled with people. Dozens of people died.
Linux including a breaking change to increase security does not stop any business. If you are not patched to the new version, don't upgrade. The breaking change could be announced well ahead, and people would have time to fix their stuff.
That would be akin to the government releasing a new regulation but not forcing anybody to upgrade directly, but by offering tax relieve to anybody who did.
See also git using SHA-1: people warned him about this, and he argued passionately and incorrectly that git doesn't use SHA-1 as an integrity measure. He also argued passionately and incorrectly that SHA-1 was unlikely to be broken and worrying about it was a waste of effort. And now other people are doing a lot of slow work to dig ourselves out of literally every single git repo in the world relying on a broken crypto primitive.
By "encryption" do you mean "cryptography"?
If I sign a git tag, I am signing a data structure that consists of SHA-1 hashes of other data structures. Any attack on SHA-1 means that the thing I'm signing can be subverted.
So, yes, git is using SHA-1 for cryptographic purposes.
> I think it is unlikely to get a collision in a non-contrived instance.
Why do you think this? Usually in engineering we prefer to back up statements like this with evidence.
In particular, practical SHA-1 collisions have been demonstrated: https://shattered.io/
And an attacker is going to be trying to contrive a collision, are they not?
And none of this explains why git didn't use SHA-256 back when it was easy to change. Even if SHA-1 isn't broken in practice (which it is), there's no downside to using SHA-256.
- He argues and argues that everything is fine
- Weeks later he fixes the issue
Conclusion: he was wrong
On the otherhand i dont see why a kernel doesn't track it's stack pointers and heap allocations to see if there is overlap, its basic idea and stupid that they ever dared to say this is not exploitable. Even though not many ppl seem to have looked at it and/or done it, its plainly obvious there is an issues with there being a possibility of overlap;. The stack guard page is a stupid mechanism which at best causes an application crash (fking handle that shit properly??) masked as 'security incident'....
that being said, linux, grsecurity, still my main choice, still much love for linus and grsecurity folks. whish they could get along better and perhaps someday think of actual solutions instead of infinite bandaids!
Pretty weak argument. I'm running stock Linux without grsec and I've never had any breakage either.
> i think Linus should probably pay more attention to security issues
What makes you think that he doesn't? Also, there is a whole separate team (the Kernel Self Protection Project) working on the issue.
From memory, I can't recall a time where his ranting was not justified, but he has been wrong a couple of times. Unless I'm missing something blatant, that doesn't constitute "crying wolf" to me.
The grsecurity stuff could be bad but I sure as hell am not gonna get my analysis from Linus. If he acted more like a grown up then maybe but he doesn't. He character assassinates and then says you are doing silly pointer arithmetic. Can just mention the pointer stuff without shouting and screaming at author of the patch.
The drama in kernel dev is a direct result of his abrasive approach. He screams and shouts so grsecurity screams and shouts. Everyone else loses. The kernel dev space needs less drama and more grown ups.
... Because the little boy was lying. If there really was a wolf every time he said there was they would consider him a brilliant scout rather than an untrustworthy source of information.
It's strange that it's necessary to explain children's parables on HN.
> The kernel dev space needs less drama and more grown ups.
I don't disagree with that, I just don't agree with saying that Linus is crying wolf. Because you don't appear to understand what it means.
Words have meaning, be careful how you use them.
0. http://www.washingtonpost.com/sf/business/2015/11/05/net-of-... N.B. The article is a bit deep in technical inaccuracies - it calls Linux an OS, for example.
Stopped reading right there. First of all, Linux is not an operating unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS. Because of that, the Operating System is not Linux, but rather GNU/Linux (or GNU + Linux which I recently have been calling it).