Module Name: src
Committed By: kre
Date: Sat Nov 2 12:46:49 UTC 2024
Modified Files:
src/sbin/gpt: add.c
Log Message:
PR bin/58806 Never create a partition with a null guid
If a new partition entry being added doesn't already have a guid,
make one for it.
To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 src/sbin/gpt/add.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sbin/gpt/add.c
diff -u src/sbin/gpt/add.c:1.44 src/sbin/gpt/add.c:1.45
--- src/sbin/gpt/add.c:1.44 Tue Jul 3 03:41:23 2018
+++ src/sbin/gpt/add.c Sat Nov 2 12:46:49 2024
@@ -33,7 +33,7 @@
__FBSDID("$FreeBSD: src/sbin/gpt/add.c,v 1.14 2006/06/22 22:05:28 marcel Exp $");
#endif
#ifdef __RCSID
-__RCSID("$NetBSD: add.c,v 1.44 2018/07/03 03:41:23 jnemeth Exp $");
+__RCSID("$NetBSD: add.c,v 1.45 2024/11/02 12:46:49 kre Exp $");
#endif
#include <sys/types.h>
@@ -122,6 +122,12 @@ add(gpt_t gpt, off_t alignment, off_t bl
}
}
+ if (gpt_uuid_is_nil(ent->ent_guid))
+ if (gpt_uuid_generate(gpt, ent->ent_guid) == -1) {
+ gpt_warnx(gpt, "Unable to make UUID");
+ return -1;
+ }
+
if (alignment > 0) {
alignsecs = alignment / gpt->secsz;
map = map_alloc(gpt, block, sectors, alignsecs);