⬢ DragonFlyBSD Kernel Audit
DF-2881 / fix.diff
← back to finding ↓ download raw
--- a/sys/vm/vm_swap.c
+++ b/sys/vm/vm_swap.c
@@ -282,6 +282,11 @@
 			error = EBUSY;
 			goto done;
 		}
+		if (vp->v_type == VCHR && vp->v_rdev != NULL &&
+		    sp->sw_device == vp->v_rdev) {
+			error = EBUSY;
+			goto done;
+		}
 		if (!sp->sw_vp)
 			goto found;