>       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.

Reply via email to