Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grsecurity: discontinue support #25277

Closed
wants to merge 5 commits into from
Closed

Conversation

joachifm
Copy link
Contributor

Upstream has decided to make -testing patches private, effectively ceasing free support for grsecurity/PaX 1. Consequently, we can no longer responsibly support grsecurity on NixOS.

As a first step turn the patch & kernel expressions into errors. It's unclear whether we might want to prune all grsec/PaX stuff from the tree --- the infrastructure might be useful to users wishing to build
NixOS against grsec patches they've paid for. OTOH, I certainly cannot support that use-case so bit-rot is a real concern.

Upstream has decided to make -testing patches private, effectively ceasing
free support for grsecurity/PaX [1].  Consequently, we can no longer
responsibly support grsecurity on NixOS.

As a first step turn the patch & kernel expressions into eval errors.
It's unclear whether we might want to prune all grsec/PaX stuff from the
tree --- the infrastructure might be useful to users wishing to build
NixOS against grsec patches they've paid for. OTOH, I certainly cannot
support that use-case so bit-rot is a real concern.

[1]: https://grsecurity.net/passing_the_baton.php
@mention-bot
Copy link

@joachifm, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @grahamc and @fpletz to be potential reviewers.

@joachifm
Copy link
Contributor Author

cc @copumpkin

@joachifm
Copy link
Contributor Author

To clarify, my preference is to prune all PaX/grsec stuff.

@copumpkin
Copy link
Member

My inclination would be to wait a bit and see how the other communities react to it, and then do what they do, possibly shifting this stuff into a separate less maintained repo that people can import as needed if they have access to the private patches.

@joachifm
Copy link
Contributor Author

For context, arch linux is dropping support as well: https://lists.archlinux.org/pipermail/arch-general/2017-April/043604.html

From my end, I consider support to be over here as well, but it's of course open to others to continue it :)

@joachifm
Copy link
Contributor Author

Merged a squashed variant of this.

@joachifm joachifm closed this Apr 28, 2017
@copumpkin
Copy link
Member

😦

We should probably kill all the paxmark support in the stdenv and various packages too, then.

@joachifm
Copy link
Contributor Author

I'd delete the paxmark stuff last, but certainly all the rest should be pruned in good time before 17.09 at least, I'm sad to say.

@joachifm
Copy link
Contributor Author

The rationale for holding on to paxmark for a while longer than the rest is that it's fairly low impact and it can feasibly be useful for somebody wanting to use nixpkgs on their paid-for-grsec system.

@copumpkin
Copy link
Member

Fair enough!

@thoughtpolice
Copy link
Member

thoughtpolice commented Apr 28, 2017

I'm strongly in favor of just deleting everything, TBH. Supporting dead code for use-cases barely anyone will have (not just using NixOS but also paying a grsec license) only has negative effects, IMO.

I agree with Micay from the Arch list: there are no good answers here and nothing is comparable. It's best to just drop it now, since it's going to be nothing but dead weight in the future.

@joachifm
Copy link
Contributor Author

joachifm commented Apr 28, 2017

I certainly won't complain if somebody took it upon themselves to do the purge. From my pov, this is the minimally responsible change we can do, I'm just not in the mood to do much more on this for a while (it's quite a bit of effort turned to nothing, after all) ...

@vcunat
Copy link
Member

vcunat commented Apr 30, 2017

It still seems possible that some people will fork it and continue a free/libre version, but I can't judge the likelihood of that.

@joachifm
Copy link
Contributor Author

@vcunat my impression is that people are focusing on porting grsecurity/PaX features piecemeal with a view towards upstream integration. It looks like a gigantic amount of work, however, and the incentives to free ride are strong. I guess we can hope that one of the larger vendors "takes one for the team" as it were and puts forth the funds required to carry this forward, but right now it looks kind of bleak, I'm sad to say. Would like to be proven wrong, though!

@joachifm
Copy link
Contributor Author

joachifm commented Apr 30, 2017

For those interested in further developments of grsecurity/PaX who might not have seen it, https://wiki.gentoo.org/wiki/Hardened/Hardened_Kernel_Project#Progress_tracking may be of interest

@vcunat
Copy link
Member

vcunat commented Apr 30, 2017

OK. Thanks for the information.

vcunat added a commit that referenced this pull request May 6, 2017
Nixpkgs discontinued grsecurity support: #25277.
@AndersonTorres
Copy link
Member

New page for linux (kernel) security developments, if someone is interested:

https://github.com/copperhead/linux-hardened/wiki

@joachifm joachifm deleted the remove-grsec branch September 1, 2017 21:33
vcunat referenced this pull request Sep 26, 2018
/cc @Ericson2314

PR was #46857

This line broke MacOS cross compilation. paxctl cannot be built on
macOS. Maybe it can be fixed, but no reason to break things
unnecessarily.

Regardless, you definitely need to be more careful about backporting.
I think it’s fine to move fast and break things on master but
with release-18.09 we should be more careful. Something like more
automated testing for cross compilation would also be
helpful (hopefully even making it block).
@Mic92 Mic92 mentioned this pull request Dec 22, 2018
10 tasks
Mic92 added a commit to Mic92/nixpkgs that referenced this pull request Dec 22, 2018
More then one year ago we removed grsecurity kernels from nixpkgs:
NixOS#25277

This removes now also paxutils from stdenv.
Mic92 added a commit that referenced this pull request Dec 22, 2018
More then one year ago we removed grsecurity kernels from nixpkgs:
#25277

This removes now also paxutils from stdenv.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants