svn commit: r300069 - head/usr.sbin/makefs

Pedro F. Giffuni pfg at FreeBSD.org
Tue May 17 18:20:35 UTC 2016


Author: pfg
Date: Tue May 17 18:20:33 2016
New Revision: 300069
URL: https://svnweb.freebsd.org/changeset/base/300069

Log:
  makefs(1): use all the random(3) range.
  
  The generation number is uint32_t so we can fit the complete range
  of random(3). We could have used arc4random() but the result would
  be unpredictable and it would prohibit reproducible builds.
  
  While here add a comment where seeding is done: this affects
  reproducible builds and might have to be re-visited to use a
  release dependent value.
  
  MFC after:	2 weeks

Modified:
  head/usr.sbin/makefs/ffs.c

Modified: head/usr.sbin/makefs/ffs.c
==============================================================================
--- head/usr.sbin/makefs/ffs.c	Tue May 17 17:46:12 2016	(r300068)
+++ head/usr.sbin/makefs/ffs.c	Tue May 17 18:20:33 2016	(r300069)
@@ -1125,9 +1125,10 @@ ffs_write_inode(union dinode *dp, uint32
 	    initediblk < ufs_rw32(cgp->cg_niblk, fsopts->needswap)) {
 		memset(buf, 0, fs->fs_bsize);
 		dip = (struct ufs2_dinode *)buf;
+		/* Seeding affects reproducible builds. */
 		srandom(time(NULL));
 		for (i = 0; i < INOPB(fs); i++) {
-			dip->di_gen = random() / 2 + 1;
+			dip->di_gen = random();
 			dip++;
 		}
 		ffs_wtfs(fsbtodb(fs, ino_to_fsba(fs,


More information about the svn-src-all mailing list