summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Rossi <rossi.f@inwind.it>2016-08-05 09:25:16 +0200
committerFabio Rossi <rossi.f@inwind.it>2016-08-05 09:25:16 +0200
commit7688f8838d5b9761d0434d304be8fe8390270bd6 (patch)
treed53bacc9ddea8b30946d2430db705fcbe6ef240d /app-emulation/vmware-modules
parentapp-emulation/vmware-modules: fix version 304.3 with hardened (diff)
downloadvmware-7688f8838d5b9761d0434d304be8fe8390270bd6.tar.gz
vmware-7688f8838d5b9761d0434d304be8fe8390270bd6.tar.bz2
vmware-7688f8838d5b9761d0434d304be8fe8390270bd6.zip
app-emulation/vmware-modules: complete support to kernel 4.7
Latest 4.7 kernel doesn't export anymore the readlink_copy() function: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bfe8804d908a791b16e3686c101f0d7eca9fb5b9 This fixes bug #590220
Diffstat (limited to 'app-emulation/vmware-modules')
-rw-r--r--app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch16
-rw-r--r--app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch16
-rw-r--r--app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild1
-rw-r--r--app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild1
4 files changed, 34 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch b/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch
new file mode 100644
index 0000000..5fccd97
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch
@@ -0,0 +1,16 @@
+--- vmblock-only/linux/inode.c 2016-08-03 19:26:15.293707751 +0200
++++ vmblock-only/linux/inode.c.new 2016-08-03 21:37:42.199148756 +0200
+@@ -205,10 +205,11 @@
+
+ #if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
+ return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#elif LINUX_VERSION_CODE <= KERNEL_VERSION(4, 6, 99)
++ return readlink_copy(buffer, buflen, iinfo->name);
+ #else
+- return readlink_copy(buffer, buflen, iinfo->name);
++ return generic_readlink(dentry, buffer, buflen);
+ #endif
+-
+ }
+
+
diff --git a/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch b/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch
new file mode 100644
index 0000000..5fccd97
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch
@@ -0,0 +1,16 @@
+--- vmblock-only/linux/inode.c 2016-08-03 19:26:15.293707751 +0200
++++ vmblock-only/linux/inode.c.new 2016-08-03 21:37:42.199148756 +0200
+@@ -205,10 +205,11 @@
+
+ #if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
+ return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#elif LINUX_VERSION_CODE <= KERNEL_VERSION(4, 6, 99)
++ return readlink_copy(buffer, buflen, iinfo->name);
+ #else
+- return readlink_copy(buffer, buflen, iinfo->name);
++ return generic_readlink(dentry, buffer, buflen);
+ #endif
+-
+ }
+
+
diff --git a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
index 665965c..ba97b17 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
@@ -103,6 +103,7 @@ src_prepare() {
kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.5-00-get_link.patch"
kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.6-00-user-pages.patch"
kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.7-00-trans_start.patch"
+ kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.7-01-readlink_copy.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user
diff --git a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
index 1bfbcb4..da4a7a1 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
@@ -103,6 +103,7 @@ src_prepare() {
kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.patch"
kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.06-00-user-pages.patch"
kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-00-trans_start.patch"
+ kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-01-readlink_copy.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user