You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch

57 lines
1.8 KiB

--- vmci-only/linux/driver.c 2015-02-07 01:11:55.000000000 +0100
+++ vmci-only/linux/driver.c.new 2015-07-23 00:28:25.713804866 +0200
@@ -37,6 +37,7 @@
#include <linux/moduleparam.h>
#include <linux/poll.h>
#include <linux/smp.h>
+#include <linux/vmalloc.h>
#include "compat_highmem.h"
#include "compat_interrupt.h"
--- vmblock-only/linux/inode.c 2015-08-23 00:34:11.959377109 +0200
+++ vmblock-only/linux/inode.c.new 2015-08-23 00:37:49.839389292 +0200
@@ -38,7 +38,9 @@
static int InodeOpReadlink(struct dentry *, char __user *, int);
#endif
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+#if 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);
#else
static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
@@ -203,13 +205,19 @@
*----------------------------------------------------------------------------
*/
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+static const char *
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
static void *
#else
static int
#endif
InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+ void **cookie) // OUT: stores opaque pointer
+#else
struct nameidata *nd) // OUT: stores result
+#endif
{
int ret;
VMBlockInodeInfo *iinfo;
@@ -226,7 +234,11 @@
goto out;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+ return *cookie = iinfo->name;
+#else
nd_set_link(nd, iinfo->name);
+#endif
out:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)