summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix3
-rw-r--r--pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch31
2 files changed, 33 insertions, 1 deletions
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index 21934dcdfac..f61611fbf01 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i";
   };
 
-  patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch;
+  patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch
+               ++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch;
 
   preConfigure =
   ''
diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
new file mode 100644
index 00000000000..9de1c093436
--- /dev/null
+++ b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
@@ -0,0 +1,31 @@
+diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.c ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c
+--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c	2017-08-17 02:46:07.000000000 -0700
++++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c	2017-11-13 19:49:46.710616748 -0800
+@@ -7,8 +7,8 @@
+ 
+ #include "linux-file.h"
+ 
+-#include <asm/uaccess.h>
+ #include <linux/sched.h>
++#include <asm/uaccess.h>
+ 
+ struct file *linux_file_open(const char *path, int flags, int mode)
+ {
+@@ -35,7 +35,7 @@
+ 
+     oldfs = get_fs();
+     set_fs(get_ds());
+-    ret = vfs_read(file, data, size, &offset);
++    ret = kernel_read(file, data, size, &offset);
+     set_fs(oldfs);
+ 
+     return ret;
+@@ -48,7 +48,7 @@
+ 
+     oldfs = get_fs();
+     set_fs(get_ds());
+-    ret = vfs_write(file, data, size, &offset);
++    ret = kernel_write(file, data, size, &offset);
+     set_fs(oldfs);
+ 
+     return ret;