⬢ DragonFlyBSD Kernel Audit
DF-2856 / fix.diff
← back to finding ↓ download raw
--- a/sys/kern/subr_rman.c	2026-06-29 12:51:19.000000000 +0000
+++ b/sys/kern/subr_rman.c	2026-10-26 00:33:27.735105851 +0000
@@ -259,6 +259,11 @@
 				rv = s;
 				rv->r_flags |= RF_ALLOCATED | flags;
 				rv->r_dev = dev;
+				/* do not inherit previous owner data */
+				rv->r_virtual = NULL;
+				rv->r_bustag = 0;
+				rv->r_bushandle = 0;
+				rv->r_rid = 0;
 				goto out;
 			}
 
@@ -591,7 +596,7 @@
 		 * change it to an unallocated region and return
 		 * without freeing anything.
 		 */
-		r->r_flags &= ~RF_ALLOCATED;
+		r->r_flags &= ~(RF_ALLOCATED | RF_SHAREABLE);
 		return 0;
 	}