about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorchayleaf <chayleaf-git@pavluk.org>2023-07-12 14:44:30 +0700
committerchayleaf <chayleaf-git@pavluk.org>2023-07-12 14:44:30 +0700
commit3a9c8b6c61eda94695a6f16e31707cd141e7191f (patch)
tree2a3618e9c80cc03e2498d09d0e3ce8addb8f5de5 /pkgs/os-specific
parente2078e747c791cf839664d584628f5f2ee89a32a (diff)
linuxPackages.kvmfr: fix for linux 6.4
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/kvmfr/default.nix7
-rw-r--r--pkgs/os-specific/linux/kvmfr/linux-6-4-compat.patch16
2 files changed, 21 insertions, 2 deletions
diff --git a/pkgs/os-specific/linux/kvmfr/default.nix b/pkgs/os-specific/linux/kvmfr/default.nix
index 6b5f31a1d350b..67d4d8af2eb80 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 0000000000000..e57d1d27c36cd
--- /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;
+