Re: [PATCH] cpumask: Omit terminating null byte in cpumap_print_{list,bitmask}_to_buf

From: Greg KH
Date: Thu Sep 30 2021 - 06:43:46 EST


On Thu, Sep 30, 2021 at 01:30:10PM +0300, Antti Kervinen wrote:
>
> An original function, bitmap_print_to_pagebuf() in lib/bitmap.c,
> returns the number of printed characters, excluding terminating null.
>
> Commit 1fae5629, a cause of this regression, introduced new functions
> to lib/bitmap.c:
>
> - bitmap_print_to_buf()
> (return value doc missing)
>
> - bitmap_print_bitmask_to_buf()
> (return value doc not explicit about terminating null, but
> can be considered misleading)
>
> - bitmap_print_list_to_buf()
> (the same as above)
>
> Unlike the original function, the return value of new functions
> include the terminating null.
>
> As this behavior is clearly opposite to the original function, and
> functions that print to buffers in general, I would suggest fixing
> this problem by alignign these new functions with the original one:
> excluding the terminating null. And documenting this behavior
> unambiguously.
>
> The suggested change to cpumask_print_{bitmask,list}_to_buf()
> functions decrements possible errors (like -ENOMEM) returned by
> bitmap_print_to_buf(). This must not happen.

I already pointed you at
https://lore.kernel.org/r/20210916222705.13554-1-tklauser@xxxxxxxxxx
a few hours ago.

Why not test the patch there (and in linux-next) and let us know if it
resolves the issue you see or not.

thanks,

greg k-h