Re: [PATCH] bcachefs: replace deprecated strncpy() with strscpy()

From: Roxana Nicolescu
Date: Wed Mar 26 2025 - 13:05:39 EST


On Wednesday, March 26th, 2025 at 5:41 PM, Kent Overstreet <kent.overstreet@xxxxxxxxx> wrote:

> On Thu, Mar 27, 2025 at 12:36:25AM +0800, Alan Huang wrote:
>
> > On Mar 27, 2025, at 00:17, Kent Overstreet kent.overstreet@xxxxxxxxx wrote:
> >
> > > On Wed, Mar 26, 2025 at 09:19:06PM +0530, Bharadwaj Raju wrote:
> > >
> > > > On Wed, Mar 26, 2025 at 8:22 PM Kent Overstreet
> > > > kent.overstreet@xxxxxxxxx wrote:
> > > >
> > > > > Or better, a new helper: when we're copying to a fixed size buffer we
> > > > > really want to zero out the rest of the buffer - we don't just want a
> > > > > single terminating nul.
> > > >
> > > > I believe strscpy_pad does this?
> > > >
> > > > https://docs.kernel.org/core-api/kernel-api.html#c.strscpy_pad
> > >
> > > almost, we don't want the 'required nul termination'; that's a
> > > requirement at least for disk labels where we need to preserve existing
> > > behaviour
> >
> > memcpy_and_pad :)
>
>
> I'll take that patch :)

I'll send a follow-up patch with memcpy_and_pad with the pad_char=0. Even though strscpy_pad does not require it, it does make the assumption that the destination buffer should be NUL-terminated, and it does some extra checks we don't need, so memcpy_and_pad is the way to go.

I'll also replace the memcpy calls in bch2_trans_log_msg() and __bch2_fs_log_ms().