> src/sys/kern: vfs_bio.c > src/sys/sys: buf.h > > Log Message: > Change buf_nbuf()'s return value from int to u_int to avoid undefined > behavior in wapbl_start() which extended int to size_t. > > Error message was: > > UBSan: Undefined Behavior in ../../../../kern/vfs_wapbl.c:609:41, signed > > integer overflow: 3345138 * 1024 cannot be represented in type 'int' > > > /* XXX maybe use filesystem fragment size instead of 1024 */ > > /* XXX fix actual number of buffers reserved per filesystem. */ > > wl->wl_bufcount_max = (buf_nbuf() / 2) * 1024; > > Need more work?
i would have made buf_nbuf() return size_t. .mrg.