diff options
author | Fabio Rossi <rossi.f@inwind.it> | 2016-05-27 23:31:39 +0200 |
---|---|---|
committer | Fabio Rossi <rossi.f@inwind.it> | 2016-05-28 00:57:07 +0200 |
commit | af19a5d912cdd537f70667722d2fb3cbb14b3d35 (patch) | |
tree | 838069a0e568bf94cf47daa9177b0825b1825891 /app-emulation | |
parent | app-emulation/vmware-tools: fixed Manifest for freebsd tools (diff) | |
download | vmware-af19a5d912cdd537f70667722d2fb3cbb14b3d35.tar.gz vmware-af19a5d912cdd537f70667722d2fb3cbb14b3d35.tar.bz2 vmware-af19a5d912cdd537f70667722d2fb3cbb14b3d35.zip |
app-emulation/vmware-modules: fix patching of version 308 for kernel 4.5
The old patch 308-4.05-00-vmblock-follow_link.patch was not complete
(probably produced before final 4.5-rc1 release). The problem was
triggering a build failure on some systems.
The patch for version 304 was already correct.
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch index c139292..03311b0 100644 --- a/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch +++ b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch @@ -1,12 +1,12 @@ ---- vmblock-only/linux/inode.c 2016-01-30 19:13:04.019947435 +0100 -+++ vmblock-only/linux/inode.c.new 2016-01-30 19:13:56.226950354 +0100 +--- vmblock-only/linux/inode.c.old 2016-05-27 15:12:49.315632906 +0200 ++++ vmblock-only/linux/inode.c 2016-05-27 22:57:39.550192422 +0200 @@ -44,7 +44,9 @@ static int InodeOpReadlink(struct dentry *, char __user *, int); #endif - + -#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+static const char *InodeOpFollowlink(struct dentry *dentry, struct inode *inode, void **cookie); ++static const char *InodeOpFollowlink(struct dentry *dentry, struct inode *inode, struct delayed_call *done); +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) @@ -21,21 +21,23 @@ .follow_link = InodeOpFollowlink, +#endif }; - + /* -@@ -231,6 +237,9 @@ +@@ -231,7 +237,10 @@ static int #endif InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) + struct inode *inode, -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) ++ struct delayed_call *done) ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) void **cookie) // OUT: stores opaque pointer #else -@@ -241,12 +250,20 @@ + struct nameidata *nd) // OUT: stores result +@@ -241,18 +250,28 @@ VMBlockInodeInfo *iinfo; - + if (!dentry) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) + ret = -ECHILD; @@ -45,7 +47,7 @@ +#endif goto out; } - + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) + iinfo = INODE_TO_IINFO(inode); +#else @@ -54,3 +56,12 @@ if (!iinfo) { ret = -EINVAL; goto out; + } + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) ++ return iinfo->name; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) + return *cookie = iinfo->name; + #else + nd_set_link(nd, iinfo->name); |