Re: [PATCH] pinctrl: samsung: Use snprintf() to construct pin bank names
From: Bill Wendling
Date: Mon Sep 28 2026 - 18:01:12 EST
On Mon, Sep 28, 2026 at 2:43 PM Justin Stitt <justinstitt@xxxxxxxxxx> wrote:
>
> Hi,
>
> On Sun, Sep 27, 2026 at 12:07:58PM -0700, Mariia Nikitash wrote:
> > From: Bill Wendling <morbo@xxxxxxxxxx>
> >
> > samsung_banks_node_get() constructs each pin bank node name by copying
> > bank->name with strscpy() and appending the suffix with strlcat().
> >
> > In preparation for removing the deprecated strlcat() API[1], format the
> > node name in a single snprintf() call, which preserves the existing
> > truncation check against sizeof(node_name).
> >
> > Link: https://github.com/KSPP/linux/issues/370 [1]
> > Cc: codemender-patching+linux@xxxxxxxxxx
> > Assisted-by: LLM
> > Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>
> > Signed-off-by: Mariia Nikitash <nikitash.mariiaw@xxxxxxxxx>
>
> Are you forwarding this patch on behalf of Bill? I see Bill as the
> author of the commit and I recall seeing this in some series he sent
> earlier [1] and this patch you've sent doesn't seem to be a v2.
>
> Let me know what your role is on this patch and why it has been
> separated out from Bill's series.
>
> It is entirely possible that I am lacking context. Please fill me in :)
>
She's been marsheling some of the strlcat patches I sent to the
mailing list. It's possible I sent a "v2" of all patches, whether
there were changes in them or not.
The patch series needs to be separated a bit because of Kees's
'seq_buf' changes, which will make some of the patches I sent
obsolete.
-bw
> > ---
> > drivers/pinctrl/samsung/pinctrl-samsung.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> > index 5ecc9ed4c44d..0d639eec689c 100644
> > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> > @@ -1155,8 +1155,7 @@ static void samsung_banks_node_get(struct device *dev, struct samsung_pinctrl_dr
> >
> > bank = d->pin_banks;
> > for (i = 0; i < d->nr_banks; ++i, ++bank) {
> > - strscpy(node_name, bank->name, sizeof(node_name));
> > - len = strlcat(node_name, suffix, sizeof(node_name));
> > + len = snprintf(node_name, sizeof(node_name), "%s%s", bank->name, suffix);
> > if (len >= sizeof(node_name)) {
> > dev_err(dev, "Too long pin bank name '%s', ignoring\n",
> > bank->name);
> > --
> > 2.43.0
> >
> >
>
> [1]: https://lore.kernel.org/all/20260915081910.4142719-17-morbo@xxxxxxxxxx/
>
> Thanks
> Justin
On Mon, Sep 28, 2026 at 2:43 PM Justin Stitt <justinstitt@xxxxxxxxxx> wrote:
>
> Hi,
>
> On Sun, Sep 27, 2026 at 12:07:58PM -0700, Mariia Nikitash wrote:
> > From: Bill Wendling <morbo@xxxxxxxxxx>
> >
> > samsung_banks_node_get() constructs each pin bank node name by copying
> > bank->name with strscpy() and appending the suffix with strlcat().
> >
> > In preparation for removing the deprecated strlcat() API[1], format the
> > node name in a single snprintf() call, which preserves the existing
> > truncation check against sizeof(node_name).
> >
> > Link: https://github.com/KSPP/linux/issues/370 [1]
> > Cc: codemender-patching+linux@xxxxxxxxxx
> > Assisted-by: LLM
> > Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@xxxxxxxxx>
> > Signed-off-by: Mariia Nikitash <nikitash.mariiaw@xxxxxxxxx>
>
> Are you forwarding this patch on behalf of Bill? I see Bill as the
> author of the commit and I recall seeing this in some series he sent
> earlier [1] and this patch you've sent doesn't seem to be a v2.
>
> Let me know what your role is on this patch and why it has been
> separated out from Bill's series.
>
> It is entirely possible that I am lacking context. Please fill me in :)
>
> > ---
> > drivers/pinctrl/samsung/pinctrl-samsung.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> > diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
> > index 5ecc9ed4c44d..0d639eec689c 100644
> > --- a/drivers/pinctrl/samsung/pinctrl-samsung.c
> > +++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
> > @@ -1155,8 +1155,7 @@ static void samsung_banks_node_get(struct device *dev, struct samsung_pinctrl_dr
> >
> > bank = d->pin_banks;
> > for (i = 0; i < d->nr_banks; ++i, ++bank) {
> > - strscpy(node_name, bank->name, sizeof(node_name));
> > - len = strlcat(node_name, suffix, sizeof(node_name));
> > + len = snprintf(node_name, sizeof(node_name), "%s%s", bank->name, suffix);
> > if (len >= sizeof(node_name)) {
> > dev_err(dev, "Too long pin bank name '%s', ignoring\n",
> > bank->name);
> > --
> > 2.43.0
> >
> >
>
> [1]: https://lore.kernel.org/all/20260915081910.4142719-17-morbo@xxxxxxxxxx/
>
> Thanks
> Justin