From 40d39b4bf57c960f0e41a3cfacac3433eb45f4ec Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Tue, 17 May 2016 18:20:33 +0000 Subject: [PATCH] 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 --- usr.sbin/makefs/ffs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.sbin/makefs/ffs.c b/usr.sbin/makefs/ffs.c index dd97c012dce..fba54225074 100644 --- a/usr.sbin/makefs/ffs.c +++ b/usr.sbin/makefs/ffs.c @@ -1125,9 +1125,10 @@ ffs_write_inode(union dinode *dp, uint32_t ino, const fsinfo_t *fsopts) 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, -- 2.45.2