ports/emulators/open-vm-tools/files/patch-freebsd7
2008-05-14 14:55:33 +00:00

170 lines
5.8 KiB
Text

--- hgfsmounter/hgfsmounter.c.orig 2008-03-19 08:49:53.000000000 +0100
+++ hgfsmounter/hgfsmounter.c 2008-03-27 18:28:03.000000000 +0100
@@ -44,7 +44,9 @@
# define MS_SYNCHRONOUS MNT_SYNCHRONOUS
# define MS_NOEXEC MNT_NOEXEC
# define MS_NOSUID MNT_NOSUID
+#if __FreeBSD_version < 700000
# define MS_NODEV MNT_NODEV
+#endif
# define MS_UNION MNT_UNION
# define MS_ASYNC MNT_ASYNC
# define MS_SUIDDIR MNT_SUIDDIR
@@ -199,8 +201,10 @@
printf(" rw mount read-write (default)\n");
printf(" nosuid ignore suid/sgid bits\n");
printf(" suid allow suid/sgid bits (default)\n");
+#if __FreeBSD_version < 700000
printf(" nodev prevent device node access\n");
printf(" dev allow device node access (default)\n");
+#endif
printf(" noexec prevent program execution\n");
printf(" exec allow program execution (default)\n");
printf(" sync file writes are synchronous\n");
@@ -603,12 +607,14 @@
} else if (strcmp(key, "suid") == 0) {
*flags &= ~MS_NOSUID;
LOG("Setting mount option for allowing suid/sgid bits on\n");
+#if __FreeBSD_version < 700000
} else if (strcmp(key, "nodev") == 0) { // allow access to device nodes?
*flags |= MS_NODEV;
LOG("Setting mount option for accessing device nodes off\n");
} else if (strcmp(key, "dev") == 0) {
*flags &= ~MS_NODEV;
LOG("Setting mount option for accessing device nodes on\n");
+#endif
} else if (strcmp(key, "noexec") == 0) { // allow program execution?
*flags |= MS_NOEXEC;
LOG("Setting mount option for program execution off\n");
--- modules/freebsd/vmxnet/if_vxn.c.orig 2008-03-19 08:49:47.000000000 +0100
+++ modules/freebsd/vmxnet/if_vxn.c 2008-03-27 18:33:12.000000000 +0100
@@ -299,11 +302,20 @@
}
#ifdef VXN_MPSAFE
error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET | INTR_MPSAFE,
+#if __FreeBSD_version >= 700000
+ NULL, vxn_intr, sc, &sc->vxn_intrhand);
+#else
vxn_intr, sc, &sc->vxn_intrhand);
+#endif
#else
error = bus_setup_intr(dev, sc->vxn_irq, INTR_TYPE_NET,
+#if __FreeBSD_version >= 700000
+ NULL, vxn_intr, sc, &sc->vxn_intrhand);
+#else
vxn_intr, sc, &sc->vxn_intrhand);
#endif
+
+#endif
if (error) {
printf("vxn%d: couldn't set up irq\n", unit);
error = ENXIO;
--- modules/freebsd/vmhgfs/vnops.c.orig 2008-03-19 08:49:45.000000000 +0100
+++ modules/freebsd/vmhgfs/vnops.c 2008-03-27 18:34:58.000000000 +0100
@@ -138,7 +138,9 @@
.vop_islocked = vop_stdislocked,
.vop_kqfilter = vop_stdkqfilter,
.vop_lease = VOP_NULL,
+#if __FreeBSD_version < 700000
.vop_lock = vop_stdlock,
+#endif
.vop_pathconf = VOP_EINVAL,
.vop_poll = vop_nopoll,
.vop_putpages = vop_stdputpages,
--- modules/freebsd/vmblock/vnops.c.orig 2008-03-19 08:49:43.000000000 +0100
+++ modules/freebsd/vmblock/vnops.c 2008-03-27 18:43:03.000000000 +0100
@@ -187,6 +187,9 @@
#include <sys/file.h>
#include <sys/filedesc.h>
#include <sys/kdb.h>
+#if __FreeBSD_version >= 700000
+#include <sys/priv.h>
+#endif
#include "vmblock_k.h"
#include "vmblock.h"
@@ -210,13 +213,18 @@
static vop_inactive_t VMBlockVopInactive;
static vop_ioctl_t VMBlockVopIoctl;
static vop_islocked_t VMBlockVopIsLocked;
+#if __FreeBSD_version < 700000
static vop_lock_t VMBlockVopLock;
+#endif
static vop_lookup_t VMBlockVopLookup;
static vop_open_t VMBlockVopOpen;
static vop_print_t VMBlockVopPrint;
static vop_reclaim_t VMBlockVopReclaim;
static vop_rename_t VMBlockVopRename;
static vop_setattr_t VMBlockVopSetAttr;
+#if __FreeBSD_version >= 700000
+static vop_lock1_t VMBlockVopLock;
+#endif
static vop_unlock_t VMBlockVopUnlock;
@@ -254,7 +262,9 @@
.vop_inactive = VMBlockVopInactive,
.vop_ioctl = VMBlockVopIoctl,
.vop_islocked = VMBlockVopIsLocked,
+#if __FreeBSD_version < 700000
.vop_lock = VMBlockVopLock,
+#endif
.vop_lookup = VMBlockVopLookup,
.vop_open = VMBlockVopOpen,
.vop_print = VMBlockVopPrint,
@@ -262,6 +272,9 @@
.vop_rename = VMBlockVopRename,
.vop_setattr = VMBlockVopSetAttr,
.vop_strategy = VOP_EOPNOTSUPP,
+#if __FreeBSD_version >= 700000
+ .vop_lock1 = VMBlockVopLock,
+#endif
.vop_unlock = VMBlockVopUnlock,
};
@@ -720,7 +733,11 @@
* readdir() of the filesystem root for non-privileged users.
*/
if ((retval = suser(ap->a_td)) == 0) {
+#if __FreeBSD_version >= 700000
+ fp = ap->a_fp;
+#else
fp = ap->a_td->td_proc->p_fd->fd_ofiles[ap->a_fdidx];
+#endif
fp->f_ops = &VMBlockFileOps;
}
} else {
@@ -1100,7 +1117,11 @@
*/
static int
+#if __FreeBSD_version >= 700000
+VMBlockVopLock(struct vop_lock1_args *ap)
+#else
VMBlockVopLock(struct vop_lock_args *ap)
+#endif
/*
struct vop_lock_args {
struct vnode *vp; // IN: vnode operand
--- modules/freebsd/vmhgfs/vfsops.c.orig 2008-03-19 08:49:45.000000000 +0100
+++ modules/freebsd/vmhgfs/vfsops.c 2008-03-27 19:04:20.000000000 +0100
@@ -29,6 +29,9 @@
#include <sys/malloc.h>
#include <sys/kernel.h>
#include <sys/systm.h>
+#if __FreeBSD_version >= 700000
+#include <sys/priv.h>
+#endif
#include "hgfs_kernel.h"
#include "request.h"
@@ -64,7 +67,9 @@
.vfs_vget = vfs_stdvget,
.vfs_fhtovp = vfs_stdfhtovp,
.vfs_checkexp = vfs_stdcheckexp,
+#if __FreeBSD_version < 700000
.vfs_vptofh = vfs_stdvptofh,
+#endif
.vfs_init = HgfsVfsInit,
.vfs_uninit = HgfsVfsUninit,
.vfs_extattrctl = vfs_stdextattrctl,