summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/vmware-modules/files/308-4.09-00-user-pages-p1.patch')
-rw-r--r--app-emulation/vmware-modules/files/308-4.09-00-user-pages-p1.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/files/308-4.09-00-user-pages-p1.patch b/app-emulation/vmware-modules/files/308-4.09-00-user-pages-p1.patch
new file mode 100644
index 0000000..28758f7
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.09-00-user-pages-p1.patch
@@ -0,0 +1,39 @@
+--- ./vmci-only/linux/vmciKernelIf.c 2017-02-23 12:19:59.706822502 +0100
++++ ./vmci-only/linux/vmciKernelIf.c.new 2017-02-23 13:12:09.382997502 +0100
+@@ -2056,7 +2056,11 @@
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+ retval = get_user_pages((VA)produceUVA,
+ produceQ->kernelIf->numPages,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++ FOLL_WRITE,
++#else
+ 1, 0,
++#endif
+ produceQ->kernelIf->u.h.headerPage,
+ NULL);
+ #else
+@@ -2083,7 +2087,11 @@
+ (VA)consumeUVA,
+ #endif
+ consumeQ->kernelIf->numPages,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++ FOLL_WRITE,
++#else
+ 1, 0,
++#endif
+ consumeQ->kernelIf->u.h.headerPage,
+ NULL);
+ if (retval < consumeQ->kernelIf->numPages) {
+--- ./vmci-only/linux/driver.c 2017-02-23 12:19:59.645822499 +0100
++++ ./vmci-only/linux/driver.c.new 2017-02-23 12:30:38.845858240 +0100
+@@ -1468,7 +1468,9 @@
+ int retval;
+
+ down_read(&current->mm->mmap_sem);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++ retval = get_user_pages(addr, 1, FOLL_WRITE, &page, NULL);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+ retval = get_user_pages(addr, 1, 1, 0, &page, NULL);
+ #else
+ retval = get_user_pages(current, current->mm, addr,