Author: alc Date: Mon Oct 9 18:19:06 2017 New Revision: 324444 URL: https://svnweb.freebsd.org/changeset/base/324444
Log: The recent change to initialization of blists (r324420) relied on '-1' appearing only where the code explicitly set it, but since much of the data was not initialized, '-1' appeared other places too, and led to panics. Clear the allocated data before initializing nonzero values by allocating with M_ZERO. Submitted by: Doug Moore <do...@rice.edu> Reported by: Oleg V. Nauman <o...@theweb.org.ua>, cy Tested by: Oleg V. Nauman <o...@theweb.org.ua> MFC after: 1 week X-MFC with: r324420 Differential Revision: https://reviews.freebsd.org/D12627 Modified: head/sys/kern/subr_blist.c Modified: head/sys/kern/subr_blist.c ============================================================================== --- head/sys/kern/subr_blist.c Mon Oct 9 18:00:40 2017 (r324443) +++ head/sys/kern/subr_blist.c Mon Oct 9 18:19:06 2017 (r324444) @@ -248,7 +248,8 @@ blist_create(daddr_t blocks, int flags) nodes += last_block + 1; last_block /= BLIST_META_RADIX; } - bl = malloc(offsetof(struct blist, bl_root[nodes]), M_SWAP, flags); + bl = malloc(offsetof(struct blist, bl_root[nodes]), M_SWAP, flags | + M_ZERO); if (bl == NULL) return (NULL); _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"