diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2009-03-30 00:33:43 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2009-03-30 00:33:43 +0000 |
commit | 2a1c00ff2fc3645b56b0901c80b8e742a459a63c (patch) | |
tree | dd4d75728279474a3bdebb03a028b856c25d2085 /sys/geom | |
parent | 607fc40b04c9eda21f0185075146a0721a9c2b77 (diff) | |
download | src-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.c | 4 |
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) + |