-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
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
zfs: offer Linux kernel DRM circumvention option to enable ZFS on 6.2+ #227165
Conversation
I feel like a better approach is to hold off on shipping these packages for aarch64 until this is fixed upstream rather than effectively re-licensing code under the GPL without permission. This isn't as bad as patching ZFS to report that it is GPL, as suggested at openzfs/zfs#11357 (comment) but it's definitely not a great idea, IMO. |
Well, the code was there at some point. This is not going to be fixed by the kernel upstream in any way atm. (I contacted kernel upstream with no avail). OpenZFS upstream can reintroduce their own version of the trivial helper, but if, for some reason, there's a treewide change of the semantics of start/end, OpenZFS has to track them. From a distribution point of view, this change minimize the breakage and the risks for the users. |
There is zero impact on other users. This has nothing to do with re-licensing. The whole of the linux kernel is under the GPL before and after applying this patch. We don't need any permission to apply patches to Linux kernel. The license allows us to change code as long as we publish the changes, which is done by publishing the patch. If we would introduce a new kernel symbol that would expose the old function under a different name this would be also perfectly compliant with the GPL. |
@@ -1,4 +1,4 @@ | |||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args: | |||
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, fetchpatch, ... } @ args: |
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.
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, fetchpatch, ... } @ args: | |
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, ... } @ args: |
This isn't needed, right?
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.
Correct
|
A while ago I stumbled upon this: https://lwn.net/Articles/154602/ Of course, I'm not a lawyer and my interpretation may be wrong, however I'm pretty sure that if we're doing something we're not legally not allowed to, things can become nasty pretty quickly. Hence I'd advice to seek legal advice first. If @armijnhemel has some time right now, they could help out for instance. |
This a review by an actual lawyer and not Linus Torvald itself: https://www.ifross.org/?q=en/artikel/ongoing-dispute-over-value-exportsymbolgpl-function
In short this is DRM and does not change the license of the GPL itself. |
Introduced in torvalds/linux@aaeca98 with the usual disdain for ZFS. We have been there in the past with <https://www.phoronix.com/news/NixOS-Linux-5.0-ZFS-FPU-Drop> / NixOS#61076. This fixes ZFS on aarch64 until the next breakage. See openzfs/zfs#14555 for original upstream issue.
Here's a new approach which is more honest about what we are offering. :) Anyone who wants to cache it and circumvent Linux access control/DRM protection for putting a CPU in the right mode for doing SIMD can now enjoy doing it in one flag. |
type = types.bool; | ||
default = false; | ||
description = lib.mkDoc '' | ||
Linux 6.2 dropped some kernel symbols required on aarch64 required by zfs. |
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.
Linux 6.2 dropped some kernel symbols required on aarch64 required by zfs. | |
Linux 6.2 dropped some kernel symbols required on aarch64 by zfs. |
Closed in favor of #237873. |
Description of changes
Introduced in torvalds/linux@aaeca98 with the usual disdain for ZFS.
We have been there in the past with
https://www.phoronix.com/news/NixOS-Linux-5.0-ZFS-FPU-Drop / #61076.
This fixes ZFS on aarch64 until the next breakage.
See openzfs/zfs#14555 for original upstream issue.
I know this can have legal consequences for NixOS, I will submit myself to all scrutiny and bikeshedding :).
Things done
Tested through
pkgsCross.aarch64-multiplatform.linuxPackages_6_2.zfs
.sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)