Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 May 2011 12:28:13 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r221658 - head/sys/geom/part
Message-ID:  <201105081228.p48CSDmp046101@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105081228.p48CSDmp046101>