diff options
author | 2016-08-05 09:25:16 +0200 | |
---|---|---|
committer | 2016-08-05 09:25:16 +0200 | |
commit | 7688f8838d5b9761d0434d304be8fe8390270bd6 (patch) | |
tree | d53bacc9ddea8b30946d2430db705fcbe6ef240d | |
parent | app-emulation/vmware-modules: fix version 304.3 with hardened (diff) | |
download | vmware-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
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 |