forked from mirrors/nixpkgs
5e38fc024b
also refactor linux 4.14 patch, and remove 4.13 patch as it is upstream
71 lines
2.4 KiB
Diff
71 lines
2.4 KiB
Diff
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.c ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c
|
|
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.c 2017-12-15 01:59:57.000000000 -0800
|
|
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.c 2017-12-23 22:14:08.351092413 -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)
|
|
{
|
|
@@ -28,29 +28,36 @@
|
|
filp_close(file, NULL);
|
|
}
|
|
|
|
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
|
|
+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size)
|
|
{
|
|
+#if defined(HAVE_KERNEL_WRITE_PPOS)
|
|
+ return(kernel_read(file, data, size, &offset));
|
|
+#else
|
|
mm_segment_t oldfs;
|
|
ssize_t ret;
|
|
|
|
oldfs = get_fs();
|
|
set_fs(get_ds());
|
|
- ret = vfs_read(file, data, size, &offset);
|
|
+ ret = vfs_read(file, (unsigned char *)data, size, &offset);
|
|
set_fs(oldfs);
|
|
|
|
return ret;
|
|
+#endif
|
|
}
|
|
|
|
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
|
|
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
|
|
{
|
|
+#if defined(HAVE_KERNEL_WRITE_PPOS)
|
|
+ return(kernel_write(file, data, size, &offset));
|
|
+#else
|
|
mm_segment_t oldfs;
|
|
ssize_t ret;
|
|
|
|
oldfs = get_fs();
|
|
set_fs(get_ds());
|
|
- ret = vfs_write(file, data, size, &offset);
|
|
+ ret = vfs_write(file, (unsigned char *)data, size, &offset);
|
|
set_fs(oldfs);
|
|
|
|
return ret;
|
|
+#endif
|
|
}
|
|
-
|
|
diff -Naur ProCaptureForLinux_3773/src/sources/ospi/linux-file.h ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h
|
|
--- ProCaptureForLinux_3773/src/sources/ospi/linux-file.h 2017-12-15 01:59:57.000000000 -0800
|
|
+++ ProCaptureForLinux_3773_new/src/sources/ospi/linux-file.h 2017-12-23 21:57:18.263237473 -0800
|
|
@@ -13,9 +13,9 @@
|
|
|
|
void linux_file_close(struct file *file);
|
|
|
|
-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
|
|
+ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size);
|
|
|
|
-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
|
|
+ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);
|
|
|
|
#endif /* __LINUX_FILE_H__ */
|
|
|