at 18.09-beta 71 lines 2.5 kB view raw
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