diff options
Diffstat (limited to 'main/open-vm-tools-grsec/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch')
-rw-r--r-- | main/open-vm-tools-grsec/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/main/open-vm-tools-grsec/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch b/main/open-vm-tools-grsec/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch new file mode 100644 index 0000000000..68294794d9 --- /dev/null +++ b/main/open-vm-tools-grsec/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch @@ -0,0 +1,40 @@ +--- a/modules/linux/vmhgfs/inode.c 2013-08-15 22:32:22.000000000 -0700 ++++ b/modules/linux/vmhgfs/inode.c 2013-09-16 21:31:12.323041668 -0700 +@@ -31,6 +31,9 @@ + #include <linux/namei.h> + #endif + #include <linux/highmem.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++#include <linux/dcache.h> ++#endif + + #include "compat_cred.h" + #include "compat_fs.h" +@@ -1890,7 +1893,11 @@ + #endif + &inode->i_dentry, + d_alias) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ int dcount = d_count(dentry); ++#else + int dcount = dentry->d_count; ++#endif + if (dcount) { + LOG(4, ("Found %s %d \n", dentry->d_name.name, dcount)); + return HgfsAccessInt(dentry, mask & (MAY_READ | MAY_WRITE | MAY_EXEC)); +@@ -1943,10 +1950,12 @@ + list_for_each(pos, &inode->i_dentry) { + int dcount; + struct dentry *dentry = list_entry(pos, struct dentry, d_alias); +-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38) +- dcount = atomic_read(&dentry->d_count); +-#else ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0) ++ dcount = d_count(dentry); ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) + dcount = dentry->d_count; ++#else ++ dcount = atomic_read(&dentry->d_count); + #endif + if (dcount) { + LOG(4, ("Found %s %d \n", (dentry)->d_name.name, dcount)); |