svn commit: r221658 - head/sys/geom/part

Andrey V. Elsukov ae at FreeBSD.org
Sun May 8 12:28:14 UTC 2011


Author: ae
Date: Sun May  8 12:28:13 2011
New Revision: 221658
URL: http://svn.freebsd.org/changeset/base/221658

Log:
  Limit number of sectors that can be addressed.
  
  MFC after:	1 week

Modified:
  head/sys/geom/part/g_part_vtoc8.c

Modified: head/sys/geom/part/g_part_vtoc8.c
==============================================================================
--- head/sys/geom/part/g_part_vtoc8.c	Sun May  8 12:23:01 2011	(r221657)
+++ head/sys/geom/part/g_part_vtoc8.c	Sun May  8 12:28:13 2011	(r221658)
@@ -198,9 +198,7 @@ g_part_vtoc8_create(struct g_part_table 
 
 	table = (struct g_part_vtoc8_table *)basetable;
 
-	msize = pp->mediasize / pp->sectorsize;
-	if (msize > 0xffffffffu)
-		msize = 0xffffffffu;
+	msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX);
 	table->secpercyl = basetable->gpt_sectors * basetable->gpt_heads;
 	pcyls = msize / table->secpercyl;
 	acyls = 2;
@@ -392,8 +390,7 @@ g_part_vtoc8_read(struct g_part_table *b
 	bcopy(buf, &table->vtoc, sizeof(table->vtoc));
 	g_free(buf);
 
-	msize = pp->mediasize / pp->sectorsize;
-
+	msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX);
 	sectors = be16dec(&table->vtoc.nsecs);
 	if (sectors < 1)
 		goto invalid_label;


More information about the svn-src-head mailing list