summaryrefslogtreecommitdiff
path: root/app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch')
-rw-r--r--app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch429
1 files changed, 0 insertions, 429 deletions
diff --git a/app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch b/app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch
deleted file mode 100644
index 851b9d33d86..00000000000
--- a/app-emulation/open-vm-tools-kmod/files/9.10.0-0003-Fix-f_dentry-msghdr-kernel-3.19.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-From 61751db8cd4679fc76034a5d1f99df6c64c48de6 Mon Sep 17 00:00:00 2001
-From: lotan <lotan@gmx.de>
-Date: Mon, 30 Mar 2015 08:58:56 +0200
-Subject: [PATCH 3/3] Make vmhgfs work on kernel 3.19.
-
----
- open-vm-tools/modules/linux/vmhgfs/dir.c | 35 ++++++------
- open-vm-tools/modules/linux/vmhgfs/file.c | 65 +++++++++++-----------
- open-vm-tools/modules/linux/vmhgfs/fsutil.c | 3 +-
- .../modules/linux/vmhgfs/shared/compat_dentry.h | 10 ++++
- 4 files changed, 63 insertions(+), 50 deletions(-)
- create mode 100644 open-vm-tools/modules/linux/vmhgfs/shared/compat_dentry.h
-
-diff --git a/open-vm-tools/modules/linux/vmhgfs/dir.c b/open-vm-tools/modules/linux/vmhgfs/dir.c
-index 809611a..c6a87bd 100644
---- a/open-vm-tools/modules/linux/vmhgfs/dir.c
-+++ b/open-vm-tools/modules/linux/vmhgfs/dir.c
-@@ -31,6 +31,7 @@
- #include "compat_kernel.h"
- #include "compat_slab.h"
- #include "compat_mutex.h"
-+#include "compat_dentry.h"
-
- #include "cpName.h"
- #include "hgfsEscape.h"
-@@ -414,7 +415,7 @@ HgfsPackDirOpenRequest(struct file *file, // IN: File pointer for this open
-
- /* Build full name to send to server. */
- if (HgfsBuildPath(name, req->bufferSize - (requestSize - 1),
-- file->f_dentry) < 0) {
-+ DENTRY(file)) < 0) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsPackDirOpenRequest: build path failed\n"));
- return -EINVAL;
- }
-@@ -560,8 +561,8 @@ HgfsPrivateDirRelease(struct file *file, // IN: File for the dir getting relea
- int result = 0;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-- ASSERT(file->f_dentry->d_sb);
-+ ASSERT(DENTRY(file));
-+ ASSERT(DENTRY(file)->d_sb);
-
- LOG(6, (KERN_DEBUG "VMware hgfs: HgfsPrivateDirRelease: close fh %u\n", handle));
-
-@@ -704,7 +705,7 @@ HgfsDirLlseek(struct file *file,
- loff_t offset,
- int origin)
- {
-- struct dentry *dentry = file->f_dentry;
-+ struct dentry *dentry = DENTRY(file);
- struct inode *inode = dentry->d_inode;
- compat_mutex_t *mtx;
-
-@@ -853,7 +854,7 @@ HgfsReaddirRefreshEntries(struct file *file) // IN: File pointer for this ope
- }
-
- LOG(6, (KERN_DEBUG "VMware hgfs: %s: error: stale handle (%s) return %d)\n",
-- __func__, file->f_dentry->d_name.name, result));
-+ __func__, DENTRY(file)->d_name.name, result));
- return result;
- }
-
-@@ -988,9 +989,9 @@ HgfsReaddirNextEntry(struct file *file, // IN: file
- char *fileName = NULL;
- int result;
-
-- ASSERT(file->f_dentry->d_inode->i_sb);
-+ ASSERT(DENTRY(file)->d_inode->i_sb);
-
-- si = HGFS_SB_TO_COMMON(file->f_dentry->d_inode->i_sb);
-+ si = HGFS_SB_TO_COMMON(DENTRY(file)->d_inode->i_sb);
- *entryIgnore = FALSE;
-
- /*
-@@ -1079,18 +1080,18 @@ HgfsReaddirNextEntry(struct file *file, // IN: file
- */
- if (!strncmp(entryName, ".", sizeof ".")) {
- if (!dotAndDotDotIgnore) {
-- *entryIno = file->f_dentry->d_inode->i_ino;
-+ *entryIno = DENTRY(file)->d_inode->i_ino;
- } else {
- *entryIgnore = TRUE;
- }
- } else if (!strncmp(entryName, "..", sizeof "..")) {
- if (!dotAndDotDotIgnore) {
-- *entryIno = compat_parent_ino(file->f_dentry);
-+ *entryIno = compat_parent_ino(DENTRY(file));
- } else {
- *entryIgnore = TRUE;
- }
- } else {
-- *entryIno = HgfsGetFileInode(&entryAttrs, file->f_dentry->d_inode->i_sb);
-+ *entryIno = HgfsGetFileInode(&entryAttrs, DENTRY(file)->d_inode->i_sb);
- }
-
- if (*entryIgnore) {
-@@ -1170,16 +1171,16 @@ HgfsDoReaddir(struct file *file, // IN:
- ASSERT(filldirCtx);
-
- if (!file ||
-- !(file->f_dentry) ||
-- !(file->f_dentry->d_inode)) {
-+ !(DENTRY(file)) ||
-+ !(DENTRY(file)->d_inode)) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsReaddir: null input\n"));
- return -EFAULT;
- }
-
- LOG(4, (KERN_DEBUG "VMware hgfs: %s(%s, inum %lu, pos %Lu)\n",
- __func__,
-- file->f_dentry->d_name.name,
-- file->f_dentry->d_inode->i_ino,
-+ DENTRY(file)->d_name.name,
-+ DENTRY(file)->d_inode->i_ino,
- *currentPos));
-
- /*
-@@ -1294,7 +1295,7 @@ HgfsReaddir(struct file *file, // IN:
- /* If either dot and dotdot are filled in for us we can exit. */
- if (!dir_emit_dots(file, ctx)) {
- LOG(6, (KERN_DEBUG "VMware hgfs: %s: dir_emit_dots(%s, @ %Lu)\n",
-- __func__, file->f_dentry->d_name.name, ctx->pos));
-+ __func__, DENTRY(file)->d_name.name, ctx->pos));
- return 0;
- }
-
-@@ -1464,8 +1465,8 @@ HgfsDirRelease(struct inode *inode, // IN: Inode that the file* points to
-
- ASSERT(inode);
- ASSERT(file);
-- ASSERT(file->f_dentry);
-- ASSERT(file->f_dentry->d_sb);
-+ ASSERT(DENTRY(file));
-+ ASSERT(DENTRY(file)->d_sb);
-
- handle = FILE_GET_FI_P(file)->handle;
-
-diff --git a/open-vm-tools/modules/linux/vmhgfs/file.c b/open-vm-tools/modules/linux/vmhgfs/file.c
-index bbde3f4..39502d0 100644
---- a/open-vm-tools/modules/linux/vmhgfs/file.c
-+++ b/open-vm-tools/modules/linux/vmhgfs/file.c
-@@ -32,6 +32,7 @@
- #include "compat_fs.h"
- #include "compat_kernel.h"
- #include "compat_slab.h"
-+#include "compat_dentry.h"
-
- /* Must be after compat_fs.h */
- #if defined VMW_USE_AIO
-@@ -384,7 +385,7 @@ HgfsPackOpenRequest(struct inode *inode, // IN: Inode of the file to open
- /* Build full name to send to server. */
- if (HgfsBuildPath(name,
- req->bufferSize - (requestSize - 1),
-- file->f_dentry) < 0) {
-+ DENTRY(file)) < 0) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsPackOpenRequest: build path "
- "failed\n"));
- return -EINVAL;
-@@ -523,8 +524,8 @@ HgfsOpen(struct inode *inode, // IN: Inode of the file to open
- ASSERT(inode);
- ASSERT(inode->i_sb);
- ASSERT(file);
-- ASSERT(file->f_dentry);
-- ASSERT(file->f_dentry->d_inode);
-+ ASSERT(DENTRY(file));
-+ ASSERT(DENTRY(file)->d_inode);
-
- iinfo = INODE_GET_II_P(inode);
-
-@@ -605,7 +606,7 @@ HgfsOpen(struct inode *inode, // IN: Inode of the file to open
- * This is not the root of our file system so there should always
- * be a parent.
- */
-- ASSERT(file->f_dentry->d_parent);
-+ ASSERT(DENTRY(file)->d_parent);
-
- /*
- * Here we obtain a reference on the parent to make sure it doesn't
-@@ -620,10 +621,10 @@ HgfsOpen(struct inode *inode, // IN: Inode of the file to open
- * We could do this if we were willing to give up support for
- * O_EXCL on 2.4 kernels.
- */
-- dparent = dget(file->f_dentry->d_parent);
-+ dparent = dget(DENTRY(file)->d_parent);
- iparent = dparent->d_inode;
-
-- HgfsSetUidGid(iparent, file->f_dentry,
-+ HgfsSetUidGid(iparent, DENTRY(file),
- current_fsuid(), current_fsgid());
-
- dput(dparent);
-@@ -683,7 +684,7 @@ out:
- * forcing a revalidate on one will not force it on any others.
- */
- if (result != 0 && iinfo->createdAndUnopened == TRUE) {
-- HgfsDentryAgeForce(file->f_dentry);
-+ HgfsDentryAgeForce(DENTRY(file));
- }
- return result;
- }
-@@ -772,13 +773,13 @@ HgfsFileRead(struct kiocb *iocb, // IN: I/O control block
-
- ASSERT(iocb);
- ASSERT(iocb->ki_filp);
-- ASSERT(iocb->ki_filp->f_dentry);
-+ ASSERT(DENTRY(iocb->ki_filp));
- ASSERT(iov);
-
- pos = HGFS_IOCB_TO_POS(iocb, offset);
- iovSegs = HGFS_IOV_TO_SEGS(iov, numSegs);
-
-- readDentry = iocb->ki_filp->f_dentry;
-+ readDentry = DENTRY(iocb->ki_filp);
-
- LOG(4, (KERN_DEBUG "VMware hgfs: %s(%s/%s)\n",
- __func__, readDentry->d_parent->d_name.name,
-@@ -882,13 +883,13 @@ HgfsFileWrite(struct kiocb *iocb, // IN: I/O control block
-
- ASSERT(iocb);
- ASSERT(iocb->ki_filp);
-- ASSERT(iocb->ki_filp->f_dentry);
-+ ASSERT(DENTRY(iocb->ki_filp));
- ASSERT(iov);
-
- pos = HGFS_IOCB_TO_POS(iocb, offset);
- iovSegs = HGFS_IOV_TO_SEGS(iov, numSegs);
-
-- writeDentry = iocb->ki_filp->f_dentry;
-+ writeDentry = DENTRY(iocb->ki_filp);
-
- LOG(4, (KERN_DEBUG "VMware hgfs: %s(%s/%s)\n",
- __func__, writeDentry->d_parent->d_name.name,
-@@ -951,7 +952,7 @@ HgfsRead(struct file *file, // IN: File to read from
- int result;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-+ ASSERT(DENTRY(file));
- ASSERT(buf);
- ASSERT(offset);
-
-@@ -959,7 +960,7 @@ HgfsRead(struct file *file, // IN: File to read from
- __func__, file->f_dentry->d_parent->d_name.name,
- file->f_dentry->d_name.name, count, (long long) *offset));
-
-- result = HgfsRevalidate(file->f_dentry);
-+ result = HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsRead: invalid dentry\n"));
- goto out;
-@@ -1002,8 +1003,8 @@ HgfsWrite(struct file *file, // IN: File to write to
- int result;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-- ASSERT(file->f_dentry->d_inode);
-+ ASSERT(DENTRY(file));
-+ ASSERT(DENTRY(file)->d_inode);
- ASSERT(buf);
- ASSERT(offset);
-
-@@ -1011,7 +1012,7 @@ HgfsWrite(struct file *file, // IN: File to write to
- __func__, file->f_dentry->d_parent->d_name.name,
- file->f_dentry->d_name.name, count, (long long) *offset));
-
-- result = HgfsRevalidate(file->f_dentry);
-+ result = HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsWrite: invalid dentry\n"));
- goto out;
-@@ -1051,7 +1052,7 @@ HgfsSeek(struct file *file, // IN: File to seek
- loff_t result = -1;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-+ ASSERT(DENTRY(file));
-
- LOG(6, (KERN_DEBUG "VMware hgfs: %s(%s/%s, %u, %lld, %d)\n",
- __func__,
-@@ -1059,7 +1060,7 @@ HgfsSeek(struct file *file, // IN: File to seek
- file->f_dentry->d_name.name,
- FILE_GET_FI_P(file)->handle, offset, origin));
-
-- result = (loff_t) HgfsRevalidate(file->f_dentry);
-+ result = (loff_t) HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(6, (KERN_DEBUG "VMware hgfs: %s: invalid dentry\n", __func__));
- goto out;
-@@ -1143,8 +1144,8 @@ HgfsFlush(struct file *file // IN: file to flush
- int ret = 0;
-
- LOG(4, (KERN_DEBUG "VMware hgfs: %s(%s/%s)\n",
-- __func__, file->f_dentry->d_parent->d_name.name,
-- file->f_dentry->d_name.name));
-+ __func__, DENTRY(file)->d_parent->d_name.name,
-+ DENTRY(file)->d_name.name));
-
- if ((file->f_mode & FMODE_WRITE) == 0) {
- goto exit;
-@@ -1157,7 +1158,7 @@ HgfsFlush(struct file *file // IN: file to flush
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 36)
- ret = vfs_fsync(file, 0);
- #else
-- ret = HgfsDoFsync(file->f_dentry->d_inode);
-+ ret = HgfsDoFsync(DENTRY(file)->d_inode);
- #endif
-
- exit:
-@@ -1215,13 +1216,13 @@ HgfsFsync(struct file *file, // IN: File we operate on
-
- LOG(4, (KERN_DEBUG "VMware hgfs: %s(%s/%s, %lld, %lld, %d)\n",
- __func__,
-- file->f_dentry->d_parent->d_name.name,
-- file->f_dentry->d_name.name,
-+ DENTRY(file)->d_parent->d_name.name,
-+ DENTRY(file)->d_name.name,
- startRange, endRange,
- datasync));
-
- /* Flush writes to the server and return any errors */
-- inode = file->f_dentry->d_inode;
-+ inode = DENTRY(file)->d_inode;
- #if defined VMW_FSYNC_31
- ret = filemap_write_and_wait_range(inode->i_mapping, startRange, endRange);
- #else
-@@ -1261,14 +1262,14 @@ HgfsMmap(struct file *file, // IN: File we operate on
-
- ASSERT(file);
- ASSERT(vma);
-- ASSERT(file->f_dentry);
-+ ASSERT(DENTRY(file));
-
- LOG(6, (KERN_DEBUG "VMware hgfs: %s(%s/%s)\n",
- __func__,
- file->f_dentry->d_parent->d_name.name,
- file->f_dentry->d_name.name));
-
-- result = HgfsRevalidate(file->f_dentry);
-+ result = HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(4, (KERN_DEBUG "VMware hgfs: %s: invalid dentry\n", __func__));
- goto out;
-@@ -1309,8 +1310,8 @@ HgfsRelease(struct inode *inode, // IN: Inode that this file points to
-
- ASSERT(inode);
- ASSERT(file);
-- ASSERT(file->f_dentry);
-- ASSERT(file->f_dentry->d_sb);
-+ ASSERT(DENTRY(file));
-+ ASSERT(DENTRY(file)->d_sb);
-
- handle = FILE_GET_FI_P(file)->handle;
- LOG(6, (KERN_DEBUG "VMware hgfs: %s(%s/%s, %u)\n",
-@@ -1443,14 +1444,14 @@ HgfsSendfile(struct file *file, // IN: File to read from
- ssize_t result;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-+ ASSERT(DENTRY(file));
- ASSERT(target);
- ASSERT(offset);
- ASSERT(actor);
-
- LOG(6, (KERN_DEBUG "VMware hgfs: HgfsSendfile: was called\n"));
-
-- result = HgfsRevalidate(file->f_dentry);
-+ result = HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(4, (KERN_DEBUG "VMware hgfs: HgfsSendfile: invalid dentry\n"));
- goto out;
-@@ -1497,7 +1498,7 @@ HgfsSpliceRead(struct file *file, // IN: File to read from
- ssize_t result;
-
- ASSERT(file);
-- ASSERT(file->f_dentry);
-+ ASSERT(DENTRY(file));
-
- LOG(6, (KERN_DEBUG "VMware hgfs: %s(%s/%s, %lu@%Lu)\n",
- __func__,
-@@ -1505,7 +1506,7 @@ HgfsSpliceRead(struct file *file, // IN: File to read from
- file->f_dentry->d_name.name,
- (unsigned long) len, (unsigned long long) *offset));
-
-- result = HgfsRevalidate(file->f_dentry);
-+ result = HgfsRevalidate(DENTRY(file));
- if (result) {
- LOG(4, (KERN_DEBUG "VMware hgfs: %s: invalid dentry\n", __func__));
- goto out;
-diff --git a/open-vm-tools/modules/linux/vmhgfs/fsutil.c b/open-vm-tools/modules/linux/vmhgfs/fsutil.c
-index 5023324..a2e794c 100644
---- a/open-vm-tools/modules/linux/vmhgfs/fsutil.c
-+++ b/open-vm-tools/modules/linux/vmhgfs/fsutil.c
-@@ -36,6 +36,7 @@
- #include "compat_sched.h"
- #include "compat_slab.h"
- #include "compat_spinlock.h"
-+#include "compat_dentry.h"
-
- #include "vm_assert.h"
- #include "cpName.h"
-@@ -1924,7 +1925,7 @@ HgfsCreateFileInfo(struct file *file, // IN: File pointer to attach to
-
- ASSERT(file);
-
-- inodeInfo = INODE_GET_II_P(file->f_dentry->d_inode);
-+ inodeInfo = INODE_GET_II_P(DENTRY(file)->d_inode);
- ASSERT(inodeInfo);
-
- /* Get the mode of the opened file. */
-diff --git a/open-vm-tools/modules/linux/vmhgfs/shared/compat_dentry.h b/open-vm-tools/modules/linux/vmhgfs/shared/compat_dentry.h
-new file mode 100644
-index 0000000..dd53760
---- /dev/null
-+++ b/open-vm-tools/modules/linux/shared/compat_dentry.h
-@@ -0,0 +1,10 @@
-+#ifndef __COMPAT_DENTRY_H__
-+# define __COMPAT_DENTRY_H__
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
-+# define DENTRY(file) (file->f_path.dentry)
-+#else
-+# define DENTRY(file) (file->f_dentry)
-+#endif
-+
-+#endif /* __COMPAT_DENTRY_H__ */
---
-2.3.4
-