summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Rossi <rossi.f@inwind.it>2016-05-27 23:31:39 +0200
committerFabio Rossi <rossi.f@inwind.it>2016-05-28 00:57:07 +0200
commitaf19a5d912cdd537f70667722d2fb3cbb14b3d35 (patch)
tree838069a0e568bf94cf47daa9177b0825b1825891 /app-emulation/vmware-modules
parentapp-emulation/vmware-tools: fixed Manifest for freebsd tools (diff)
downloadvmware-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/vmware-modules')
-rw-r--r--app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch33
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);