aboutsummaryrefslogtreecommitdiff
path: root/sys/geom
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2009-03-30 00:33:43 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2009-03-30 00:33:43 +0000
commit2a1c00ff2fc3645b56b0901c80b8e742a459a63c (patch)
treedd4d75728279474a3bdebb03a028b856c25d2085 /sys/geom
parent607fc40b04c9eda21f0185075146a0721a9c2b77 (diff)
downloadsrc-2a1c00ff2fc3645b56b0901c80b8e742a459a63c.tar.gz
src-2a1c00ff2fc3645b56b0901c80b8e742a459a63c.zip
Sharpen the saw:
o Don't create a GPT scheme underneath another scheme when the probe doesn't allow it.
Notes
Notes: svn path=/head/; revision=190534
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/part/g_part_gpt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c
index db6ebdc17750..cfbd897f7495 100644
--- a/sys/geom/part/g_part_gpt.c
+++ b/sys/geom/part/g_part_gpt.c
@@ -393,6 +393,10 @@ g_part_gpt_create(struct g_part_table *basetable, struct g_part_parms *gpp)
quad_t last;
size_t tblsz;
+ /* We don't nest, which means that our depth should be 0. */
+ if (basetable->gpt_depth != 0)
+ return (ENXIO);
+
table = (struct g_part_gpt_table *)basetable;
pp = gpp->gpp_provider;
tblsz = (basetable->gpt_entries * sizeof(struct gpt_ent) +