On Thu, May 14, 2026 at 06:26:53PM +0200, Manuel Ebner wrote: > add strlcat and alternatives > > Signed-off-by: Manuel Ebner <[email protected]> > --- > Documentation/process/deprecated.rst | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/process/deprecated.rst > b/Documentation/process/deprecated.rst > index fed56864d036..06e802f4bbfd 100644 > --- a/Documentation/process/deprecated.rst > +++ b/Documentation/process/deprecated.rst > @@ -153,6 +153,13 @@ used, and the destinations should be marked with the > `__nonstring > attribute to avoid future compiler warnings. For cases still needing > NUL-padding, strtomem_pad() can be used. > > +strlcat() > +--------- > +strlcat() must re-scan the destination string from the beginning on each > +call (O(n^2) behavior). Alternatives are seq_buf_puts() and seq_buf_printf(). > +snprintf(), scnprintf() and sysfs_emit() are possible aswell, but the > adoption > +of the arguments needs to be taken care off. > +
How about just: strlcat() must re-scan the destination string from the beginning on each call (O(n^2) behavior). Use the seq_buf API or similar instead. > strlcpy() > --------- > strlcpy() reads the entire source buffer first (since the return value > -- > 2.54.0 > -- Kees Cook

