summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Teran <evan.teran@gmail.com>2016-03-17 23:13:10 -0400
committerEvan Teran <evan.teran@gmail.com>2016-03-17 23:13:10 -0400
commit638abe578790e0a4d965e712797faee7a47a7019 (patch)
tree86983594bdfba23fb0dea5a3d870798282db099d /app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch
parentapp-emulation/vmware-modules: compiles on 4.5 kernels now (diff)
downloadvmware-638abe578790e0a4d965e712797faee7a47a7019.tar.gz
vmware-638abe578790e0a4d965e712797faee7a47a7019.tar.bz2
vmware-638abe578790e0a4d965e712797faee7a47a7019.zip
app-emulation/vmware-modules: initial support for vmware-12
Package-Manager: portage-2.2.26
Diffstat (limited to 'app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch')
-rw-r--r--app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch56
1 files changed, 56 insertions, 0 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
new file mode 100644
index 0000000..c139292
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch
@@ -0,0 +1,56 @@
+--- 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
+@@ -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);
++#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)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+@@ -63,7 +65,11 @@
+ struct inode_operations LinkInodeOps = {
+ #endif
+ .readlink = InodeOpReadlink,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++ .get_link = InodeOpFollowlink,
++#else
+ .follow_link = InodeOpFollowlink,
++#endif
+ };
+
+ /*
+@@ -231,6 +237,9 @@
+ static int
+ #endif
+ InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++ struct inode *inode,
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+ void **cookie) // OUT: stores opaque pointer
+ #else
+@@ -241,12 +250,20 @@
+ VMBlockInodeInfo *iinfo;
+
+ if (!dentry) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++ ret = -ECHILD;
++#else
+ Warning("InodeOpReadlink: invalid args from kernel\n");
+ ret = -EINVAL;
++#endif
+ goto out;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++ iinfo = INODE_TO_IINFO(inode);
++#else
+ iinfo = INODE_TO_IINFO(dentry->d_inode);
++#endif
+ if (!iinfo) {
+ ret = -EINVAL;
+ goto out;