commit:     7688f8838d5b9761d0434d304be8fe8390270bd6
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Fri Aug  5 07:25:16 2016 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Aug  5 07:25:16 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=7688f883

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

 .../vmware-modules/files/304-4.7-01-readlink_copy.patch  | 16 ++++++++++++++++
 .../vmware-modules/files/308-4.07-01-readlink_copy.patch | 16 ++++++++++++++++
 .../vmware-modules/vmware-modules-304.3-r1.ebuild        |  1 +
 .../vmware-modules/vmware-modules-308.1.1.ebuild         |  1 +
 4 files changed, 34 insertions(+)

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

Reply via email to