-
Notifications
You must be signed in to change notification settings - Fork 2
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
Added support for 5.15.* builds #18
Conversation
...Also had no luck with bullseye and gcc 10, getting early errors like |
gcc 10 on bullseye is failing due to the plugins check bombing out as follows:
(with a couple of script edits to see said errors) This is a known bug in Debian apparently: eg: https://www.mail-archive.com/[email protected]/msg58616.html |
Have yet to try a build locally, but your detailed output and upstream bug report seem to isolate the blocker pretty well. Zooming out a bit, since the goal is to support newer chipsets freedomofpress/securedrop#6170, maybe 5.10 is indeed the right target for us. The grsecurity download page labels the 5.15 patches as "beta", as well. Will still review and aim to merge this PR, but for the purposes of 2022 hw support, 5.10 is an easier reach—even if it commits us to bumping again by EOY. |
Build according to grsecurity docs works fine directly in a Debian 10 VM with gcc 8.3.0 (at least as far as make -jN), so it's probably an issue with the Docker env specifically - wiil poke around some more tmw. |
Sadly I was seeing the same compilation errors with 5.10, so we'd still have to sort that out. The 5.15 (stable6) patch listed as stable (not sure what's going on there), and the 5.10 is EOL this quarter, so IMO 5.15 is still the way to go. |
I think I may actually have created confusion with the Debian 11 tangent and the error dumps above, so to summarize:
Probably the fastest path to resolution imo is more troubleshooting of the Debian 10 docker env, and it's worth sticking with 5.15.15 as the target kernel due to grsecurity's long-term support plans for it. |
According to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=980609, a fix is own its way. I tried with
Thanks for clarifying that it's grsecurity where the EOL concern lies. The dates on the grsec download page don't match those on the official kernel timeline; i'll move discussion of 5.10 vs 5.15 to the issue! |
https://patchwork.kernel.org/project/linux-kbuild/patch/[email protected]/ seems relevant, and would indicate that this is a compiler issue, so am taking another swing at building in Bullseye (pulling in the unstable gcc-10 packages to get around the gcc-10-plugin-dev bug above). |
The security patch also seems to explicitly disable said warnings (as the allocations would fail anyway) so I'm not sure why we're still seeing them... |
Aha - looks the warnings are being disabled overall, but for KVM support they're upgraded in the config to -Werror, hence the fail. |
5.15.16 grsec kernels built with the config on this branch are working for me, with networking available, on a NUC11i5PAH over a default Ubuntu 20.04 installation. It should be possible to just install the header and image debs with no grub edits - the 5.4 grsec kernels needed a |
General question: what does the test plan look like for this? |
For the sake of this PR, my plan is to:
and then we're good to go on some more hardware testing with NUC11s. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WFM! I'm able to get a working build on 5.15. Visual inspection of the config changes look great—specifically disabling kvm seems to have resolved the build errors, as you described. I don't have any 11th-gen hardware on hand to test, but that can come next, after we've settled the build logic for the 5.15 series. I have a single request before merge:
Please run dos2unix
on the new config file, and squash down to one commit, summarizing the changes. Trying to diff locally against e.g. the 5.4 config, the different line endings made the diff output useless. Rather than push up a fix-it commit and screw with the history, rebasing seems the most considerate of future maintainers.
- Updated Docker image to latest Buster - Updated README with information on source tarball requirements - 5.15 config: - Added `securedrop-core-5.15` Makefile target - Disabled virtualization to clear a KVM-related compilation error - Enabled IGC (Intel-i225V) driver module, to support networking in NUC11s
585f8fc
to
0e5c1ab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Reviewed full config diff (from 5.4 to 5.15), and no concerns with the rather minor changes. As you noted, @zenmonkeykstop, we could stand to prune the config a bit more vigorously, but let's do that after we make the jump to 5.15.
A few maintenance fixes:
igc
network driver (required by NUCs with Intel i255v ethernet).