summaryrefslogtreecommitdiff
path: root/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/vmware-modules/files/279-3.10-05-inode.patch')
-rw-r--r--app-emulation/vmware-modules/files/279-3.10-05-inode.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
new file mode 100644
index 000000000000..01c88930899c
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
@@ -0,0 +1,36 @@
+starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
+as the second argument, not a nameidata pointer! see fs/namei.c
+for implementation. Also changing vfs_follow_link to nd_set_link.
+See: https://lkml.org/lkml/2013/9/9/236
+
+diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
+--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
++++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
+@@ -36,7 +36,7 @@
+
+ /* Inode operations */
+ static struct dentry *InodeOpLookup(struct inode *dir,
+- struct dentry *dentry, struct nameidata *nd);
++ struct dentry *dentry, unsigned int flags);
+ static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+@@ -75,7 +75,7 @@
+ static struct dentry *
+ InodeOpLookup(struct inode *dir, // IN: parent directory's inode
+ struct dentry *dentry, // IN: dentry to lookup
+- struct nameidata *nd) // IN: lookup intent and information
++ unsigned int flags) // IN: lookup intent and information
+ {
+ char *filename;
+ struct inode *inode;
+@@ -221,7 +221,8 @@
+ goto out;
+ }
+
+- ret = vfs_follow_link(nd, iinfo->name);
++ nd_set_link(nd, iinfo->name);
++ ret = 0;
+
+ out:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)