1diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
2--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800
3+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:47:33.666823299 -0800
4@@ -7,8 +7,9 @@
5
6 #include "linux-file.h"
7
8-#include <asm/uaccess.h>
9 #include <linux/sched.h>
10+#include <asm/uaccess.h>
11+#include <linux/version.h>
12
13 struct file *linux_file_open(const char *path, int flags, int mode)
14 {
15@@ -28,29 +29,36 @@
16 filp_close(file, NULL);
17 }
18
19-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
20+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size)
21 {
22+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
23+ return(kernel_read(file, data, size, &offset));
24+#else
25 mm_segment_t oldfs;
26 ssize_t ret;
27
28 oldfs = get_fs();
29 set_fs(get_ds());
30- ret = vfs_read(file, data, size, &offset);
31+ ret = vfs_read(file, (unsigned char *)data, size, &offset);
32 set_fs(oldfs);
33
34 return ret;
35+#endif
36 }
37
38-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
39+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
40 {
41+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0)
42+ return(kernel_write(file, data, size, &offset));
43+#else
44 mm_segment_t oldfs;
45 ssize_t ret;
46
47 oldfs = get_fs();
48 set_fs(get_ds());
49- ret = vfs_write(file, data, size, &offset);
50+ ret = vfs_write(file, (const unsigned char *)data, size, &offset);
51 set_fs(oldfs);
52
53 return ret;
54+#endif
55 }
56-
57diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h
58--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h 2017-12-15 01:59:57.000000000 -0800
59+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h 2017-12-23 22:46:22.028545189 -0800
60@@ -13,9 +13,9 @@
61
62 void linux_file_close(struct file *file);
63
64-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
65+ssize_t linux_file_read(struct file *file, loff_t offset, void *data, size_t size);
66
67-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
68+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);
69
70 #endif /* __LINUX_FILE_H__ */
71