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
