summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Rossi <rossi.f@inwind.it>2017-02-25 00:57:43 +0100
committerFabio Rossi <rossi.f@inwind.it>2017-02-25 00:57:43 +0100
commitde0399990b57345de18693f42b68238de6b38e8c (patch)
treef658fa764b519085143d34e8dee8116486bc78be /app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch
parentMerge branch 'baergj-z/baergj/kernel_4.9' (diff)
downloadvmware-de0399990b57345de18693f42b68238de6b38e8c.tar.gz
vmware-de0399990b57345de18693f42b68238de6b38e8c.tar.bz2
vmware-de0399990b57345de18693f42b68238de6b38e8c.zip
app-emulation/vmware-modules: added support up to kernel 4.10
* Split the patch for kernel 4.6 in two parts, the first one has been modified to be compatible with the changes in the next module 308.5.2 (so it's possible to share a single patch between 308.1 and 308.5) * Fixed the patch for kernel 4.9 to be shared between 308.1 and 308.5 * Added patch for kernel 4.10 (https://github.com/gentoo/vmware/pull/29)
Diffstat (limited to 'app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch')
-rw-r--r--app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch116
1 files changed, 52 insertions, 64 deletions
diff --git a/app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch b/app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch
index 73c6c9f..1790f73 100644
--- a/app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch
+++ b/app-emulation/vmware-modules/files/308-4.09-00-user-pages.patch
@@ -1,77 +1,65 @@
---- vmmon-only/linux/hostif.c 2016-12-12 09:17:44.438182532 -0700
-+++ vmmon-only/linux/hostif.c 2016-12-12 09:19:24.066254301 -0700
-@@ -1172,7 +1172,11 @@
- #else
- retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,
- #endif
-- numPages, 0, 0, ppages, NULL);
-+ numPages, 0,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
-+ 0,
-+#endif
-+ ppages, NULL);
- up_read(&current->mm->mmap_sem);
-
- return retval != numPages;
---- vmnet-only/userif.c 2016-12-12 09:27:12.445246854 -0700
-+++ vmnet-only/userif.c 2016-12-12 09:27:30.654298646 -0700
-@@ -118,7 +118,13 @@
- #else
- retval = get_user_pages(current, current->mm, addr,
- #endif
-- 1, 1, 0, &page, NULL);
-+ 1,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
-+ 1, 0,
-+#else
-+ FOLL_WRITE,
-+#endif
-+ &page, NULL);
- up_read(&current->mm->mmap_sem);
-
- if (retval != 1) {
---- vmci-only/linux/driver.c 2016-12-12 09:38:13.076847013 -0700
-+++ vmci-only/linux/driver.c 2016-12-12 09:38:45.638087445 -0700
-@@ -1473,7 +1473,13 @@
- #else
- retval = get_user_pages(current, current->mm, addr,
- #endif
-- 1, 1, 0, &page, NULL);
-+ 1,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
-+ 1, 0,
-+#else
-+ FOLL_WRITE,
-+#endif
-+ &page, NULL);
- up_read(&current->mm->mmap_sem);
-
- if (retval != 1) {
---- vmci-only/linux/vmciKernelIf.c 2016-12-12 09:38:20.678904322 -0700
-+++ vmci-only/linux/vmciKernelIf.c 2016-12-12 09:39:59.129587451 -0700
-@@ -2061,7 +2061,11 @@
- (VA)produceUVA,
- #endif
+--- ./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,
-- 1, 0,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
-+ 1, 0,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++ FOLL_WRITE,
+#else
-+ FOLL_WRITE,
+ 1, 0,
+#endif
produceQ->kernelIf->u.h.headerPage,
NULL);
- if (retval < produceQ->kernelIf->numPages) {
-@@ -2079,7 +2083,11 @@
+ #else
+@@ -2083,7 +2087,11 @@
(VA)consumeUVA,
#endif
consumeQ->kernelIf->numPages,
-- 1, 0,
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
-+ 1, 0,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++ FOLL_WRITE,
+#else
-+ FOLL_WRITE,
+ 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,
+--- ./vmnet-only/userif.c 2017-02-23 12:29:00.909852764 +0100
++++ ./vmnet-only/userif.c.new 2017-02-23 12:28:51.309852227 +0100
+@@ -113,7 +113,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,
+--- ./vmmon-only/linux/hostif.c 2017-02-23 12:19:59.772822506 +0100
++++ ./vmmon-only/linux/hostif.c.new 2017-02-23 12:26:42.661845034 +0100
+@@ -1167,7 +1167,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((unsigned long)uvAddr, numPages, 0, ppages, NULL);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+ retval = get_user_pages((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
+ #else
+ retval = get_user_pages(current, current->mm, (unsigned long)uvAddr,