[PATCH] pinctrl: samsung: Use snprintf() to construct pin bank names
Bill Wendling
morbo at google.com
Mon Sep 28 15:00:45 PDT 2026
On Mon, Sep 28, 2026 at 2:43 PM Justin Stitt <justinstitt at google.com> wrote:
>
> Hi,
>
> On Sun, Sep 27, 2026 at 12:07:58PM -0700, Mariia Nikitash wrote:
> > From: Bill Wendling <morbo at google.com>
> >
> > 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 at google.com
> > Assisted-by: LLM
> > Signed-off-by: Bill Wendling <morbo at google.com>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>
> > Signed-off-by: Mariia Nikitash <nikitash.mariiaw at gmail.com>
>
> 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@google.com/
>
> Thanks
> Justin
On Mon, Sep 28, 2026 at 2:43 PM Justin Stitt <justinstitt at google.com> wrote:
>
> Hi,
>
> On Sun, Sep 27, 2026 at 12:07:58PM -0700, Mariia Nikitash wrote:
> > From: Bill Wendling <morbo at google.com>
> >
> > 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 at google.com
> > Assisted-by: LLM
> > Signed-off-by: Bill Wendling <morbo at google.com>
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>
> > Signed-off-by: Mariia Nikitash <nikitash.mariiaw at gmail.com>
>
> 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@google.com/
>
> Thanks
> Justin
More information about the linux-arm-kernel
mailing list