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;