aboutsummaryrefslogtreecommitdiff
path: root/emulators/open-vm-kmod/files
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/open-vm-kmod/files')
-rw-r--r--emulators/open-vm-kmod/files/patch-vmblock_subr.c29
-rw-r--r--emulators/open-vm-kmod/files/patch-vmblock_vfsops.c11
-rw-r--r--emulators/open-vm-kmod/files/patch-vmblock_vnops.c41
-rw-r--r--emulators/open-vm-kmod/files/patch-vmmemctl_os.c8
4 files changed, 83 insertions, 6 deletions
diff --git a/emulators/open-vm-kmod/files/patch-vmblock_subr.c b/emulators/open-vm-kmod/files/patch-vmblock_subr.c
new file mode 100644
index 000000000000..256772117d77
--- /dev/null
+++ b/emulators/open-vm-kmod/files/patch-vmblock_subr.c
@@ -0,0 +1,29 @@
+--- vmblock/subr.c.orig 2025-10-01 18:42:23 UTC
++++ vmblock/subr.c
+@@ -208,7 +208,7 @@ VMBlockHashGet(struct mount *mp, // IN: vmblock
+ }
+ }
+ mtx_unlock(&hashMutex);
+- return NULLVP;
++ return NULL;
+ }
+
+
+@@ -254,7 +254,7 @@ VMBlockHashInsert(struct mount *mp, // IN:
+ }
+ LIST_INSERT_HEAD(hd, xp, hashEntry);
+ mtx_unlock(&hashMutex);
+- return NULLVP;
++ return NULL;
+ }
+
+
+@@ -465,7 +465,7 @@ VMBlockCheckVp(vp, fil, lno)
+ panic("VMBlockCheckVp");
+ };
+ #endif
+- if (a->lowerVnode == NULLVP) {
++ if (a->lowerVnode == NULL) {
+ /* Should never happen */
+ int i; u_long *p;
+ printf("vp = %p, ZERO ptr\n", (void *)vp);
diff --git a/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c
index 97840675e338..11207b5cb0e2 100644
--- a/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c
+++ b/emulators/open-vm-kmod/files/patch-vmblock_vfsops.c
@@ -1,4 +1,4 @@
---- vmblock/vfsops.c.orig 2024-10-10 15:05:07 UTC
+--- vmblock/vfsops.c.orig 2025-10-01 18:44:42 UTC
+++ vmblock/vfsops.c
@@ -173,7 +173,6 @@ VMBlockVFSMount(struct mount *mp) // IN: mount(
#endif
@@ -8,3 +8,12 @@
uma_zfree(VMBlockPathnameZone, pathname);
return error;
}
+@@ -354,7 +353,7 @@ VMBlockVFSRoot(struct mount *mp, // IN: vmblock
+ * Return locked reference to root.
+ */
+ vp = MNTTOVMBLOCKMNT(mp)->rootVnode;
+- VREF(vp);
++ vref(vp);
+ compat_vn_lock(vp, flags | LK_RETRY, compat_td);
+ *vpp = vp;
+ return 0;
diff --git a/emulators/open-vm-kmod/files/patch-vmblock_vnops.c b/emulators/open-vm-kmod/files/patch-vmblock_vnops.c
new file mode 100644
index 000000000000..64ebd25e1ce0
--- /dev/null
+++ b/emulators/open-vm-kmod/files/patch-vmblock_vnops.c
@@ -0,0 +1,41 @@
+--- vmblock/vnops.c.orig 2025-10-01 18:40:23 UTC
++++ vmblock/vnops.c
+@@ -479,9 +479,9 @@ struct vop_generic_args {
+ * Check for and don't map any that aren't. (We must always map first
+ * vp or vclean fails.)
+ */
+- if (i && (*this_vp_p == NULLVP ||
++ if (i && (*this_vp_p == NULL ||
+ (*this_vp_p)->v_op != &VMBlockVnodeOps)) {
+- old_vps[i] = NULLVP;
++ old_vps[i] = NULL;
+ } else {
+ old_vps[i] = *this_vp_p;
+ *(vps_p[i]) = VMBVPTOLOWERVP(*this_vp_p);
+@@ -491,7 +491,7 @@ struct vop_generic_args {
+ * future.)
+ */
+ if (reles & VDESC_VP0_WILLRELE) {
+- VREF(*this_vp_p);
++ vref(*this_vp_p);
+ }
+ }
+ }
+@@ -501,7 +501,7 @@ struct vop_generic_args {
+ * structure.
+ */
+ if (vps_p[0] && *vps_p[0]) {
+- error = VCALL(ap);
++ error = ap->a_desc->vdesc_call(ap);
+ } else {
+ printf("VMBlockVopBypass: no map for %s\n", descp->vdesc_name);
+ error = EINVAL;
+@@ -681,7 +681,7 @@ struct vop_lookup_args {
+ */
+ if (ldvp == lvp) {
+ *ap->a_vpp = dvp;
+- VREF(dvp);
++ vref(dvp);
+ vrele(lvp);
+ } else {
+ error = VMBlockNodeGet(dvp->v_mount, lvp, &vp, pathname);
diff --git a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c
index d083ec453d4f..899fd4d90a50 100644
--- a/emulators/open-vm-kmod/files/patch-vmmemctl_os.c
+++ b/emulators/open-vm-kmod/files/patch-vmmemctl_os.c
@@ -1,14 +1,12 @@
---- vmmemctl/os.c.orig 2025-05-15 19:16:07 UTC
+--- vmmemctl/os.c.orig 2025-09-30 06:45:41 UTC
+++ vmmemctl/os.c
@@ -91,8 +91,13 @@ MALLOC_DEFINE(M_VMMEMCTL, BALLOON_NAME, "vmmemctl meta
/*
* FreeBSD specific MACROS
*/
--#define VM_PAGE_LOCK(page) vm_page_lock(page);
--#define VM_PAGE_UNLOCK(page) vm_page_unlock(page)
+#if __FreeBSD_version < 1500046
-+#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page);
-+#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page)
+ #define VM_PAGE_LOCK(page) vm_page_lock(page);
+ #define VM_PAGE_UNLOCK(page) vm_page_unlock(page)
+#else
+#define VM_PAGE_LOCK(page) vm_page_tryxbusy(page);
+#define VM_PAGE_UNLOCK(page) vm_page_xunbusy(page)