forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/vmware-modules: Add patch for Kernel 4.2, bug 559602
Package-Manager: portage-2.2.20.1
- Loading branch information
Showing
2 changed files
with
80 additions
and
0 deletions.
There are no files selected for viewing
79 changes: 79 additions & 0 deletions
79
app-emulation/vmware-modules/files/279-4.2-00-cookie.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
See https://bugs.gentoo.org/show_bug.cgi?id=559602 | ||
Patch by Mike Auty <[email protected]> | ||
|
||
diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c | ||
index 4811abd..2cbc1f6 100644 | ||
--- a/vmblock-only/linux/inode.c | ||
+++ b/vmblock-only/linux/inode.c | ||
@@ -38,7 +38,9 @@ | ||
static struct dentry *InodeOpLookup(struct inode *dir, | ||
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) | ||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) | ||
+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); | ||
@@ -207,7 +209,12 @@ static void * | ||
static int | ||
#endif | ||
InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink | ||
- struct nameidata *nd) // OUT: stores result | ||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) | ||
+ void **cookie | ||
+#else | ||
+ struct nameidata *nd | ||
+#endif | ||
+ ) // OUT: stores result | ||
{ | ||
int ret; | ||
VMBlockInodeInfo *iinfo; | ||
diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c | ||
index acb2803..4811abd 100644 | ||
--- a/vmblock-only/linux/inode.c | ||
+++ b/vmblock-only/linux/inode.c | ||
@@ -199,7 +199,9 @@ InodeOpReadlink(struct dentry *dentry, // IN : dentry of symlink | ||
*---------------------------------------------------------------------------- | ||
*/ | ||
|
||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) | ||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) | ||
+static const char * | ||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) | ||
static void * | ||
#else | ||
static int | ||
@@ -222,8 +224,12 @@ InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink | ||
goto out; | ||
} | ||
|
||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) | ||
+ return *cookie = (char *)(iinfo->name); | ||
+#else | ||
nd_set_link(nd, iinfo->name); | ||
ret = 0; | ||
+#endif | ||
|
||
out: | ||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) | ||
diff --git a/vmnet-only/vmnetInt.h b/vmnet-only/vmnetInt.h | ||
index 23b5d19..d129f7b 100644 | ||
--- a/vmnet-only/vmnetInt.h | ||
+++ b/vmnet-only/vmnetInt.h | ||
@@ -78,8 +78,13 @@ | ||
|
||
extern struct proto vmnet_proto; | ||
#ifdef VMW_NETDEV_HAS_NET | ||
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) | ||
# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ | ||
- PF_NETLINK, _pri, &vmnet_proto) | ||
+ PF_NETLINK, _pri, &vmnet_proto, 1) | ||
+# else | ||
+# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ | ||
+ PF_NETLINK, _pri, &vmnet_proto) | ||
+# endif | ||
#else | ||
# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1) | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters