Module Name:    src
Committed By:   reinoud
Date:           Thu Feb  3 09:46:26 UTC 2022

Modified Files:
        src/sys/fs/udf: udf_allocation.c

Log Message:
Revere modification of initializer; it can lead to race conditions where two
allocation would pick the `empty' space causing a panic later on.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/fs/udf/udf_allocation.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/fs/udf/udf_allocation.c
diff -u src/sys/fs/udf/udf_allocation.c:1.45 src/sys/fs/udf/udf_allocation.c:1.46
--- src/sys/fs/udf/udf_allocation.c:1.45	Fri Jan 28 20:00:52 2022
+++ src/sys/fs/udf/udf_allocation.c	Thu Feb  3 09:46:26 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: udf_allocation.c,v 1.45 2022/01/28 20:00:52 reinoud Exp $ */
+/* $NetBSD: udf_allocation.c,v 1.46 2022/02/03 09:46:26 reinoud Exp $ */
 
 /*
  * Copyright (c) 2006, 2008 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: udf_allocation.c,v 1.45 2022/01/28 20:00:52 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udf_allocation.c,v 1.46 2022/02/03 09:46:26 reinoud Exp $");
 #endif /* not lint */
 
 
@@ -863,8 +863,8 @@ udf_search_free_vatloc(struct udf_mount 
 		ump->vat_entries++;
 	}
 
-	/* mark entry with initialiser just in case */
-	lb_map = udf_rw32(0xffffffff);
+	/* mark entry with non free-space initialiser just in case */
+	lb_map = udf_rw32(0xfffffffe);
 	udf_vat_write(ump->vat_node, (uint8_t *) &lb_map, 4,
 		ump->vat_offset + lb_num *4);
 	ump->vat_last_free_lb = lb_num;

Reply via email to