diff --git a/pkgs/os-specific/linux/kvmfr/default.nix b/pkgs/os-specific/linux/kvmfr/default.nix index 6b5f31a1d350..67d4d8af2eb8 100644 --- a/pkgs/os-specific/linux/kvmfr/default.nix +++ b/pkgs/os-specific/linux/kvmfr/default.nix @@ -1,11 +1,14 @@ -{ lib, stdenv, fetchFromGitHub, kernel, kmod, looking-glass-client }: +{ lib, stdenv, kernel, looking-glass-client }: -stdenv.mkDerivation rec { +stdenv.mkDerivation { pname = "kvmfr"; version = looking-glass-client.version; src = looking-glass-client.src; sourceRoot = "source/module"; + patches = lib.optional (kernel.kernelAtLeast "6.4") [ + ./linux-6-4-compat.patch + ]; hardeningDisable = [ "pic" "format" ]; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/kvmfr/linux-6-4-compat.patch b/pkgs/os-specific/linux/kvmfr/linux-6-4-compat.patch new file mode 100644 index 000000000000..e57d1d27c36c --- /dev/null +++ b/pkgs/os-specific/linux/kvmfr/linux-6-4-compat.patch @@ -0,0 +1,16 @@ +diff --git a/kvmfr.c b/kvmfr.c +index 121aae5b..2f4c9e1a 100644 +--- a/kvmfr.c ++++ b/kvmfr.c +@@ -539,7 +539,11 @@ static int __init kvmfr_module_init(void) + if (kvmfr->major < 0) + goto out_free; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0) + kvmfr->pClass = class_create(THIS_MODULE, KVMFR_DEV_NAME); ++#else ++ kvmfr->pClass = class_create(KVMFR_DEV_NAME); ++#endif + if (IS_ERR(kvmfr->pClass)) + goto out_unreg; +