Disable fortify and stackprotector hardening for spl/zfs.
Linux 4.16 introduces a stackprotector detection script that returns different results for the kernel compilation run and the spl/zfs compilation run, as the setting for hardening are different. This results in a broken ABI between spl/zfs and the compiled kernel, breaking ZFS. Also disabling the fortify and stackprotector hardening, as we do for the kernel, fixes that.
This commit is contained in:
parent
01847b7c5f
commit
43a737b81c
@ -25,7 +25,7 @@ let
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ] ++ kernel.moduleBuildDependencies;
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
hardeningDisable = [ "fortify" "stackprotector" "pic" ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
|
||||
|
@ -61,7 +61,7 @@ let
|
||||
# for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
|
||||
NIX_CFLAGS_LINK = "-lgcc_s";
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
hardeningDisable = [ "fortify" "stackprotector" "pic" ];
|
||||
|
||||
preConfigure = ''
|
||||
substituteInPlace ./module/zfs/zfs_ctldir.c --replace "umount -t zfs" "${utillinux}/bin/umount -t zfs"
|
||||
@ -157,7 +157,7 @@ in {
|
||||
# to be adapted
|
||||
zfsStable = common {
|
||||
# comment/uncomment if breaking kernel versions are known
|
||||
incompatibleKernelVersion = "4.16";
|
||||
incompatibleKernelVersion = null;
|
||||
|
||||
# this package should point to the latest release.
|
||||
version = "0.7.9";
|
||||
@ -176,7 +176,7 @@ in {
|
||||
|
||||
zfsUnstable = common rec {
|
||||
# comment/uncomment if breaking kernel versions are known
|
||||
incompatibleKernelVersion = "4.16";
|
||||
incompatibleKernelVersion = null;
|
||||
|
||||
# this package should point to a version / git revision compatible with the latest kernel release
|
||||
version = "2018-05-22";
|
||||
@ -199,7 +199,7 @@ in {
|
||||
# also remove boot.zfs.enableLegacyCrypto
|
||||
zfsLegacyCrypto = common {
|
||||
# comment/uncomment if breaking kernel versions are known
|
||||
incompatibleKernelVersion = "4.16";
|
||||
incompatibleKernelVersion = null;
|
||||
|
||||
# this package should point to a version / git revision compatible with the latest kernel release
|
||||
version = "2018-02-01";
|
||||
|
Loading…
Reference in New Issue
Block a user