* [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 18:39 ` Kees Cook
2026-09-15 8:18 ` [PATCH 02/28] sunrpc: Refactor rpc_sockaddr2uaddr() to use snprintf() instead of strlcat() Bill Wendling
` (28 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
snd_ac97_get_name() appends the codec name using two strlcat() calls and
then appends the revision using an unbounded sprintf() at
"name + strlen(name)", which could overflow the destination buffer.
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() and sprintf() calls with a single snprintf() using the existing
string length, matching the pattern already used in the "else" branch.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Claude-3-5-Sonnet:20241022 [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
sound/pci/ac97/ac97_codec.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
index 0bb65be021d9..e145099ee02a 100644
--- a/sound/pci/ac97/ac97_codec.c
+++ b/sound/pci/ac97/ac97_codec.c
@@ -1850,10 +1850,12 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
pid = look_for_codec_id(snd_ac97_codec_ids, id);
if (pid) {
- strlcat(name, " ", maxlen);
- strlcat(name, pid->name, maxlen);
+ int l = strlen(name);
+
if (pid->mask != 0xffffffff)
- sprintf(name + strlen(name), " rev %u", id & ~pid->mask);
+ snprintf(name + l, maxlen - l, " %s rev %u", pid->name, id & ~pid->mask);
+ else
+ snprintf(name + l, maxlen - l, " %s", pid->name);
if (ac97 && pid->patch) {
if ((modem && (pid->flags & AC97_MODEM_PATCH)) ||
(! modem && ! (pid->flags & AC97_MODEM_PATCH)))
@@ -1861,6 +1863,7 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
}
} else {
int l = strlen(name);
+
snprintf(name + l, maxlen - l, " id %x", id & 0xff);
}
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf()
2026-09-15 8:18 ` [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf() Bill Wendling
@ 2026-09-15 18:39 ` Kees Cook
2026-09-16 9:29 ` David Laight
0 siblings, 1 reply; 46+ messages in thread
From: Kees Cook @ 2026-09-15 18:39 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:18AM +0000, Bill Wendling wrote:
> --- a/sound/pci/ac97/ac97_codec.c
> +++ b/sound/pci/ac97/ac97_codec.c
> @@ -1850,10 +1850,12 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
>
> pid = look_for_codec_id(snd_ac97_codec_ids, id);
> if (pid) {
> - strlcat(name, " ", maxlen);
> - strlcat(name, pid->name, maxlen);
> + int l = strlen(name);
> +
> if (pid->mask != 0xffffffff)
> - sprintf(name + strlen(name), " rev %u", id & ~pid->mask);
> + snprintf(name + l, maxlen - l, " %s rev %u", pid->name, id & ~pid->mask);
> + else
> + snprintf(name + l, maxlen - l, " %s", pid->name);
> if (ac97 && pid->patch) {
> if ((modem && (pid->flags & AC97_MODEM_PATCH)) ||
> (! modem && ! (pid->flags & AC97_MODEM_PATCH)))
> @@ -1861,6 +1863,7 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
> }
> } else {
> int l = strlen(name);
> +
> snprintf(name + l, maxlen - l, " id %x", id & 0xff);
> }
> }
I'd rather not open-code the length math here. Can't we use seq_buf()
instead?
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf()
2026-09-15 18:39 ` Kees Cook
@ 2026-09-16 9:29 ` David Laight
0 siblings, 0 replies; 46+ messages in thread
From: David Laight @ 2026-09-16 9:29 UTC (permalink / raw)
To: Kees Cook
Cc: Bill Wendling, linux-kernel, codemender-patching+linux,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
H. Peter Anvin, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Peter Griffin, Linus Walleij,
Martin K. Petersen, Trond Myklebust, Anna Schumaker, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Greg Kroah-Hartman,
Dmitry Baryshkov, Johan Hovold, Cen Zhang, Cássio Gabriel,
Rong Zhang, linux-input, linux-media, netdev, linux-wireless,
devicetree, linux-gpio, devel, linux-hardening, linux-sound
On Tue, 15 Sep 2026 11:39:34 -0700
Kees Cook <kees@kernel.org> wrote:
(I've just juked a lot of the 'reply to' list - too long to gmail.)
> On Tue, Sep 15, 2026 at 08:18:18AM +0000, Bill Wendling wrote:
> > --- a/sound/pci/ac97/ac97_codec.c
> > +++ b/sound/pci/ac97/ac97_codec.c
> > @@ -1850,10 +1850,12 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
> >
> > pid = look_for_codec_id(snd_ac97_codec_ids, id);
> > if (pid) {
> > - strlcat(name, " ", maxlen);
> > - strlcat(name, pid->name, maxlen);
> > + int l = strlen(name);
> > +
> > if (pid->mask != 0xffffffff)
> > - sprintf(name + strlen(name), " rev %u", id & ~pid->mask);
> > + snprintf(name + l, maxlen - l, " %s rev %u", pid->name, id & ~pid->mask);
> > + else
> > + snprintf(name + l, maxlen - l, " %s", pid->name);
> > if (ac97 && pid->patch) {
> > if ((modem && (pid->flags & AC97_MODEM_PATCH)) ||
> > (! modem && ! (pid->flags & AC97_MODEM_PATCH)))
> > @@ -1861,6 +1863,7 @@ void snd_ac97_get_name(struct snd_ac97 *ac97, unsigned int id, char *name,
> > }
> > } else {
> > int l = strlen(name);
> > +
> > snprintf(name + l, maxlen - l, " id %x", id & 0xff);
> > }
> > }
>
> I'd rather not open-code the length math here. Can't we use seq_buf()
> instead?
>
Or just use the length returned by the strscpy() call that wrote the initial
part of name[].
The return the name length so the callers don't have to use strcat()
themselves.
Replacing strlcat() with strlen() and a copy is just pointless.
David
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 02/28] sunrpc: Refactor rpc_sockaddr2uaddr() to use snprintf() instead of strlcat()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
2026-09-15 8:18 ` [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 10:17 ` Jeff Layton
2026-09-15 8:18 ` [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend Bill Wendling
` (27 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
rpc_sockaddr2uaddr() formats the IP address into "addrbuf", formats the
port into a temporary "portbuf" buffer with snprintf(), and then appends
"portbuf" to "addrbuf" using strlcat().
In preparation for removing the deprecated strlcat() API[1], capture the
length returned by rpc_ntop4() and rpc_ntop6_noscopeid() and format the
port directly onto the end of "addrbuf" with snprintf(). This eliminates
the strlcat() call and the temporary "portbuf" buffer.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:3.5-sonnet [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
net/sunrpc/addr.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/net/sunrpc/addr.c b/net/sunrpc/addr.c
index 97ff11973c49..a1e4173e5a53 100644
--- a/net/sunrpc/addr.c
+++ b/net/sunrpc/addr.c
@@ -264,18 +264,20 @@ EXPORT_SYMBOL_GPL(rpc_pton);
*/
char *rpc_sockaddr2uaddr(const struct sockaddr *sap, gfp_t gfp_flags)
{
- char portbuf[RPCBIND_MAXUADDRPLEN];
char addrbuf[RPCBIND_MAXUADDRLEN];
unsigned short port;
+ size_t len;
switch (sap->sa_family) {
case AF_INET:
- if (rpc_ntop4(sap, addrbuf, sizeof(addrbuf)) == 0)
+ len = rpc_ntop4(sap, addrbuf, sizeof(addrbuf));
+ if (len == 0 || len >= sizeof(addrbuf))
return NULL;
port = ntohs(((struct sockaddr_in *)sap)->sin_port);
break;
case AF_INET6:
- if (rpc_ntop6_noscopeid(sap, addrbuf, sizeof(addrbuf)) == 0)
+ len = rpc_ntop6_noscopeid(sap, addrbuf, sizeof(addrbuf));
+ if (len == 0 || len >= sizeof(addrbuf))
return NULL;
port = ntohs(((struct sockaddr_in6 *)sap)->sin6_port);
break;
@@ -283,11 +285,8 @@ char *rpc_sockaddr2uaddr(const struct sockaddr *sap, gfp_t gfp_flags)
return NULL;
}
- if (snprintf(portbuf, sizeof(portbuf),
- ".%u.%u", port >> 8, port & 0xff) >= (int)sizeof(portbuf))
- return NULL;
-
- if (strlcat(addrbuf, portbuf, sizeof(addrbuf)) >= sizeof(addrbuf))
+ if (snprintf(addrbuf + len, sizeof(addrbuf) - len,
+ ".%u.%u", port >> 8, port & 0xff) >= sizeof(addrbuf) - len)
return NULL;
return kstrdup(addrbuf, gfp_flags);
@@ -352,3 +351,4 @@ size_t rpc_uaddr2sockaddr(struct net *net, const char *uaddr,
return 0;
}
EXPORT_SYMBOL_GPL(rpc_uaddr2sockaddr);
+
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 02/28] sunrpc: Refactor rpc_sockaddr2uaddr() to use snprintf() instead of strlcat()
2026-09-15 8:18 ` [PATCH 02/28] sunrpc: Refactor rpc_sockaddr2uaddr() to use snprintf() instead of strlcat() Bill Wendling
@ 2026-09-15 10:17 ` Jeff Layton
0 siblings, 0 replies; 46+ messages in thread
From: Jeff Layton @ 2026-09-15 10:17 UTC (permalink / raw)
To: Bill Wendling, linux-kernel
Cc: codemender-patching+linux, Russell King, Huacai Chen, WANG Xuerui,
Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Ian Abbott, H Hartley Sweeten, Tony Luck,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
Dmitry Torokhov, Matthias Schwarzott, Mauro Carvalho Chehab,
Tony Nguyen, Przemek Kitszel, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Arend van Spriel,
Rob Herring, Saravana Kannan, Krzysztof Kozlowski,
Sylwester Nawrocki, Peter Griffin, Alim Akhtar, Linus Walleij,
Anil Gurumurthy, Sudarsana Kalluru, Martin K. Petersen,
Trond Myklebust, Anna Schumaker, Mike Marshall,
Martin Brandenburg, Kees Cook, Jiri Pirko, Simon Horman,
Chuck Lever, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
Jaroslav Kysela, Takashi Iwai, Andrew Morton,
Mike Rapoport (Microsoft), Kanglong Wang, Tiezhu Yang, Qiang Ma,
Randy Dunlap, Pengpeng Hou, Ard Biesheuvel, Breno Leitao,
Thorsten Blum, Harshit Mogalapalli, Greg Kroah-Hartman,
Lyude Paul, Ashutosh Desai, Imre Deak, Dmitry Baryshkov,
Johan Hovold, Johannes Berg, Miri Korenblit, Alexander Stein,
Cryolitia PukNgae, Jiaming Zhang, Will Porter, Cen Zhang,
Cássio Gabriel, Rong Zhang, Arun Raghavan, linux-arm-kernel,
loongarch, linux-mips, linux-parisc, linux-edac, dri-devel,
intel-xe, linux-input, linux-media, intel-wired-lan, netdev,
linux-wireless, brcm80211, brcm80211-dev-list.pdl, devicetree,
linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs, devel,
linux-hardening, linux-sound
On Tue, 2026-09-15 at 08:18 +0000, Bill Wendling wrote:
> rpc_sockaddr2uaddr() formats the IP address into "addrbuf", formats the
> port into a temporary "portbuf" buffer with snprintf(), and then appends
> "portbuf" to "addrbuf" using strlcat().
>
> In preparation for removing the deprecated strlcat() API[1], capture the
> length returned by rpc_ntop4() and rpc_ntop6_noscopeid() and format the
> port directly onto the end of "addrbuf" with snprintf(). This eliminates
> the strlcat() call and the temporary "portbuf" buffer.
>
> Link: https://github.com/KSPP/linux/issues/370 [1]
> Cc: codemender-patching+linux@google.com
> Assisted-by: CoPilot:3.5-sonnet [editor_update_file, shell_command_run]
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Ian Abbott <abbotti@mev.co.uk>
> Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Matthias Schwarzott <zzam@gentoo.org>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Saravana Kannan <saravanak@kernel.org>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Peter Griffin <peter.griffin@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: Linus Walleij <linusw@kernel.org>
> Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
> Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
> Cc: "Martin K. Petersen" <mkp@kernel.org>
> Cc: Trond Myklebust <trondmy@kernel.org>
> Cc: Anna Schumaker <anna@kernel.org>
> Cc: Mike Marshall <hubcap@omnibond.com>
> Cc: Martin Brandenburg <martin@omnibond.com>
> Cc: Kees Cook <kees@kernel.org>
> Cc: Jiri Pirko <jiri@resnulli.us>
> Cc: Simon Horman <horms@kernel.org>
> Cc: Chuck Lever <cel@kernel.org>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: NeilBrown <neil@brown.name>
> Cc: Olga Kornievskaia <okorniev@redhat.com>
> Cc: Dai Ngo <Dai.Ngo@oracle.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: Bill Wendling <morbo@google.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> Cc: Kanglong Wang <wangkanglong@loongson.cn>
> Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
> Cc: Qiang Ma <maqianga@uniontech.com>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Breno Leitao <leitao@debian.org>
> Cc: Thorsten Blum <blum@kernel.org>
> Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Lyude Paul <lyude@redhat.com>
> Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Cc: Johan Hovold <johan@kernel.org>
> Cc: Johannes Berg <johannes.berg@intel.com>
> Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
> Cc: Jiaming Zhang <r772577952@gmail.com>
> Cc: Will Porter <mrwillporter@gmail.com>
> Cc: Cen Zhang <zzzccc427@gmail.com>
> Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
> Cc: Rong Zhang <i@rong.moe>
> Cc: Arun Raghavan <arunr@valvesoftware.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-mips@vger.kernel.org
> Cc: linux-parisc@vger.kernel.org
> Cc: linux-edac@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: intel-xe@lists.freedesktop.org
> Cc: linux-input@vger.kernel.org
> Cc: linux-media@vger.kernel.org
> Cc: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Cc: linux-wireless@vger.kernel.org
> Cc: brcm80211@lists.linux.dev
> Cc: brcm80211-dev-list.pdl@broadcom.com
> Cc: devicetree@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-nfs@vger.kernel.org
> Cc: devel@lists.orangefs.org
> Cc: linux-hardening@vger.kernel.org
> Cc: linux-sound@vger.kernel.org
> ---
> net/sunrpc/addr.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/net/sunrpc/addr.c b/net/sunrpc/addr.c
> index 97ff11973c49..a1e4173e5a53 100644
> --- a/net/sunrpc/addr.c
> +++ b/net/sunrpc/addr.c
> @@ -264,18 +264,20 @@ EXPORT_SYMBOL_GPL(rpc_pton);
> */
> char *rpc_sockaddr2uaddr(const struct sockaddr *sap, gfp_t gfp_flags)
> {
> - char portbuf[RPCBIND_MAXUADDRPLEN];
> char addrbuf[RPCBIND_MAXUADDRLEN];
> unsigned short port;
> + size_t len;
>
> switch (sap->sa_family) {
> case AF_INET:
> - if (rpc_ntop4(sap, addrbuf, sizeof(addrbuf)) == 0)
> + len = rpc_ntop4(sap, addrbuf, sizeof(addrbuf));
> + if (len == 0 || len >= sizeof(addrbuf))
> return NULL;
> port = ntohs(((struct sockaddr_in *)sap)->sin_port);
> break;
> case AF_INET6:
> - if (rpc_ntop6_noscopeid(sap, addrbuf, sizeof(addrbuf)) == 0)
> + len = rpc_ntop6_noscopeid(sap, addrbuf, sizeof(addrbuf));
> + if (len == 0 || len >= sizeof(addrbuf))
> return NULL;
> port = ntohs(((struct sockaddr_in6 *)sap)->sin6_port);
> break;
> @@ -283,11 +285,8 @@ char *rpc_sockaddr2uaddr(const struct sockaddr *sap, gfp_t gfp_flags)
> return NULL;
> }
>
> - if (snprintf(portbuf, sizeof(portbuf),
> - ".%u.%u", port >> 8, port & 0xff) >= (int)sizeof(portbuf))
> - return NULL;
> -
> - if (strlcat(addrbuf, portbuf, sizeof(addrbuf)) >= sizeof(addrbuf))
> + if (snprintf(addrbuf + len, sizeof(addrbuf) - len,
> + ".%u.%u", port >> 8, port & 0xff) >= sizeof(addrbuf) - len)
> return NULL;
>
> return kstrdup(addrbuf, gfp_flags);
> @@ -352,3 +351,4 @@ size_t rpc_uaddr2sockaddr(struct net *net, const char *uaddr,
> return 0;
> }
> EXPORT_SYMBOL_GPL(rpc_uaddr2sockaddr);
> +
The last blank line here is not needed. The rest looks fine though.
Reviewed-by: Jeff Layton <jlayton@kernel.org>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
2026-09-15 8:18 ` [PATCH 01/28] ALSA: ac97: Refactor snd_ac97_get_name() to use snprintf() Bill Wendling
2026-09-15 8:18 ` [PATCH 02/28] sunrpc: Refactor rpc_sockaddr2uaddr() to use snprintf() instead of strlcat() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 19:00 ` Kees Cook
2026-09-15 8:18 ` [PATCH 04/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_nsymb_init() Bill Wendling
` (26 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
When CONFIG_CMDLINE_EXTEND is enabled, parse_tag_cmdline() uses two
strlcat() calls to append a space and the bootloader tag command line to
default_command_line.
In preparation for removing the deprecated strlcat() API[1], compute the
length of default_command_line once and append the space and tag command
line in a single snprintf() call.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: developer:gpt-4o [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
arch/arm/kernel/atags_parse.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
index 4ec591bde3df..21140b44d96e 100644
--- a/arch/arm/kernel/atags_parse.c
+++ b/arch/arm/kernel/atags_parse.c
@@ -121,9 +121,10 @@ __tagtable(ATAG_REVISION, parse_tag_revision);
static int __init parse_tag_cmdline(const struct tag *tag)
{
#if defined(CONFIG_CMDLINE_EXTEND)
- strlcat(default_command_line, " ", COMMAND_LINE_SIZE);
- strlcat(default_command_line, tag->u.cmdline.cmdline,
- COMMAND_LINE_SIZE);
+ size_t len = strlen(default_command_line);
+
+ snprintf(default_command_line + len, COMMAND_LINE_SIZE - len,
+ " %s", tag->u.cmdline.cmdline);
#elif defined(CONFIG_CMDLINE_FORCE)
pr_warn("Ignoring tag cmdline (using the default kernel command line)\n");
#else
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend
2026-09-15 8:18 ` [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend Bill Wendling
@ 2026-09-15 19:00 ` Kees Cook
2026-09-16 8:28 ` Bill Wendling
0 siblings, 1 reply; 46+ messages in thread
From: Kees Cook @ 2026-09-15 19:00 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:20AM +0000, Bill Wendling wrote:
> --- a/arch/arm/kernel/atags_parse.c
> +++ b/arch/arm/kernel/atags_parse.c
> @@ -121,9 +121,10 @@ __tagtable(ATAG_REVISION, parse_tag_revision);
> static int __init parse_tag_cmdline(const struct tag *tag)
> {
> #if defined(CONFIG_CMDLINE_EXTEND)
> - strlcat(default_command_line, " ", COMMAND_LINE_SIZE);
> - strlcat(default_command_line, tag->u.cmdline.cmdline,
> - COMMAND_LINE_SIZE);
> + size_t len = strlen(default_command_line);
> +
> + snprintf(default_command_line + len, COMMAND_LINE_SIZE - len,
> + " %s", tag->u.cmdline.cmdline);
> #elif defined(CONFIG_CMDLINE_FORCE)
> pr_warn("Ignoring tag cmdline (using the default kernel command line)\n");
> #else
It's pretty clear we have a pattern of "simple append" that is needed,
and while strlcat() does that, it's horrible. I feel like we need an
appending scnprintf(), and it needs to return like strscpy() does (i.e.
-E2BIG on truncation).
My goal would be:
- don't open-code string length math
- never leave the destination unterminated
- allow for format strings
- yes/no return indication for "did this truncate?"
Initializing a whole seq_buf struct for these small cases is too much
overhead...
For both cases (small without seq_buf, large with seq_buf), it is also
frequently needed to know the resulting strlen. seq_buf doesn't do this
right today, and a strscpy-style return value also doesn't tell us. :(
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend
2026-09-15 19:00 ` Kees Cook
@ 2026-09-16 8:28 ` Bill Wendling
0 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-16 8:28 UTC (permalink / raw)
To: Kees Cook
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 12:00 PM Kees Cook <kees@kernel.org> wrote:
> On Tue, Sep 15, 2026 at 08:18:20AM +0000, Bill Wendling wrote:
> > --- a/arch/arm/kernel/atags_parse.c
> > +++ b/arch/arm/kernel/atags_parse.c
> > @@ -121,9 +121,10 @@ __tagtable(ATAG_REVISION, parse_tag_revision);
> > static int __init parse_tag_cmdline(const struct tag *tag)
> > {
> > #if defined(CONFIG_CMDLINE_EXTEND)
> > - strlcat(default_command_line, " ", COMMAND_LINE_SIZE);
> > - strlcat(default_command_line, tag->u.cmdline.cmdline,
> > - COMMAND_LINE_SIZE);
> > + size_t len = strlen(default_command_line);
> > +
> > + snprintf(default_command_line + len, COMMAND_LINE_SIZE - len,
> > + " %s", tag->u.cmdline.cmdline);
> > #elif defined(CONFIG_CMDLINE_FORCE)
> > pr_warn("Ignoring tag cmdline (using the default kernel command line)\n");
> > #else
>
> It's pretty clear we have a pattern of "simple append" that is needed,
> and while strlcat() does that, it's horrible. I feel like we need an
> appending scnprintf(), and it needs to return like strscpy() does (i.e.
> -E2BIG on truncation).
>
> My goal would be:
>
> - don't open-code string length math
> - never leave the destination unterminated
> - allow for format strings
> - yes/no return indication for "did this truncate?"
>
> Initializing a whole seq_buf struct for these small cases is too much
> overhead...
>
> For both cases (small without seq_buf, large with seq_buf), it is also
> frequently needed to know the resulting strlen. seq_buf doesn't do this
> right today, and a strscpy-style return value also doesn't tell us. :(
>
Something like "llvm::Twine" would work well for this.
-bw
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 04/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_nsymb_init()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (2 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 03/28] ARM: atags: Replace strlcat() with snprintf() for cmdline extend Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 05/28] ALSA: usb-audio: Refactor usb_audio_make_longname() to use seq_buf Bill Wendling
` (25 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
bfa_fcs_fabric_nsymb_init() constructs the node symbolic name using
strscpy() followed by five strlcat() calls and explicit NUL-termination.
In preparation for removing the deprecated strlcat() API[1], replace the
chained string copies with a single snprintf() call.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Gemini-2.5-Pro:2.5 [shell_command_run, editor_update_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/scsi/bfa/bfa_fcs.c | 31 +++++++------------------------
1 file changed, 7 insertions(+), 24 deletions(-)
diff --git a/drivers/scsi/bfa/bfa_fcs.c b/drivers/scsi/bfa/bfa_fcs.c
index 9b57312f43f5..7a4e0e8c7182 100644
--- a/drivers/scsi/bfa/bfa_fcs.c
+++ b/drivers/scsi/bfa/bfa_fcs.c
@@ -821,30 +821,13 @@ bfa_fcs_fabric_nsymb_init(struct bfa_fcs_fabric_s *fabric)
bfa_ioc_get_adapter_model(&fabric->fcs->bfa->ioc, model);
- /* Model name/number */
- strscpy(port_cfg->node_sym_name.symname, model,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->node_sym_name.symname,
- BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* Driver Version */
- strlcat(port_cfg->node_sym_name.symname, (char *)driver_info->version,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->node_sym_name.symname,
- BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* Host machine name */
- strlcat(port_cfg->node_sym_name.symname,
- driver_info->host_machine_name,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->node_sym_name.symname,
- BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* null terminate */
- port_cfg->node_sym_name.symname[BFA_SYMNAME_MAXLEN - 1] = 0;
+ /* Model name/number, Driver Version, Host machine name */
+ snprintf(port_cfg->node_sym_name.symname, BFA_SYMNAME_MAXLEN,
+ "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR
+ "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR
+ "%s" BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ model, (char *)driver_info->version,
+ driver_info->host_machine_name);
}
/*
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 05/28] ALSA: usb-audio: Refactor usb_audio_make_longname() to use seq_buf
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (3 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 04/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_nsymb_init() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 06/28] comedi: comedi_bond: Refactor strlcat() to seq_buf in do_dev_config() Bill Wendling
` (24 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
usb_audio_make_longname() builds card->longname incrementally from the
vendor/manufacturer name, shortname, USB device path, and USB speed using
strscpy(), strlcat(), and manual buffer offset calculations for
usb_make_path().
In preparation for removing the deprecated strlcat() API[1], refactor
usb_audio_make_longname() to use struct seq_buf to track the buffer
position and remaining space across these operations.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Gemini:3.5-pro [git, make, checkpatch]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
sound/usb/card.c | 58 ++++++++++++++++++++++++++++++++----------------
1 file changed, 39 insertions(+), 19 deletions(-)
diff --git a/sound/usb/card.c b/sound/usb/card.c
index 9307da95efbe..bdca8085fca6 100644
--- a/sound/usb/card.c
+++ b/sound/usb/card.c
@@ -25,6 +25,7 @@
#include <linux/list.h>
#include <linux/slab.h>
#include <linux/string.h>
+#include <linux/seq_buf.h>
#include <linux/ctype.h>
#include <linux/usb.h>
#include <linux/moduleparam.h>
@@ -651,7 +652,9 @@ static void usb_audio_make_longname(struct usb_device *dev,
struct snd_card *card = chip->card;
const struct usb_audio_device_name *preset;
const char *s = NULL;
- int len;
+ struct seq_buf sb;
+ char *buf;
+ size_t size;
preset = lookup_device_name(chip->usb_id);
@@ -667,44 +670,61 @@ static void usb_audio_make_longname(struct usb_device *dev,
s = preset->vendor_name;
else if (quirk && quirk->vendor_name)
s = quirk->vendor_name;
- *card->longname = 0;
- if (s && *s)
- strscpy(card->longname, s);
- else if (dev->manufacturer && *dev->manufacturer)
- strscpy(card->longname, dev->manufacturer);
- if (*card->longname) {
- strim(card->longname);
- if (*card->longname)
- strlcat(card->longname, " ", sizeof(card->longname));
+ seq_buf_init(&sb, card->longname, sizeof(card->longname));
+
+ if (s && *s)
+ seq_buf_puts(&sb, s);
+ else if (dev->manufacturer && *dev->manufacturer)
+ seq_buf_puts(&sb, dev->manufacturer);
+
+ if (seq_buf_used(&sb)) {
+ char *trimmed;
+
+ seq_buf_str(&sb);
+ trimmed = strim(card->longname);
+ if (trimmed != card->longname)
+ memmove(card->longname, trimmed, strlen(trimmed) + 1);
+ sb.len = strlen(card->longname);
+ if (sb.len)
+ seq_buf_putc(&sb, ' ');
}
- strlcat(card->longname, card->shortname, sizeof(card->longname));
+ seq_buf_puts(&sb, card->shortname);
- len = strlcat(card->longname, " at ", sizeof(card->longname));
+ seq_buf_puts(&sb, " at ");
- if (len < sizeof(card->longname))
- usb_make_path(dev, card->longname + len, sizeof(card->longname) - len);
+ size = seq_buf_get_buf(&sb, &buf);
+ if (size > 0) {
+ int path_len = usb_make_path(dev, buf, size);
+
+ if (path_len >= 0)
+ seq_buf_commit(&sb, path_len);
+ else
+ seq_buf_set_overflow(&sb);
+ }
switch (snd_usb_get_speed(dev)) {
case USB_SPEED_LOW:
- strlcat(card->longname, ", low speed", sizeof(card->longname));
+ seq_buf_puts(&sb, ", low speed");
break;
case USB_SPEED_FULL:
- strlcat(card->longname, ", full speed", sizeof(card->longname));
+ seq_buf_puts(&sb, ", full speed");
break;
case USB_SPEED_HIGH:
- strlcat(card->longname, ", high speed", sizeof(card->longname));
+ seq_buf_puts(&sb, ", high speed");
break;
case USB_SPEED_SUPER:
- strlcat(card->longname, ", super speed", sizeof(card->longname));
+ seq_buf_puts(&sb, ", super speed");
break;
case USB_SPEED_SUPER_PLUS:
- strlcat(card->longname, ", super speed plus", sizeof(card->longname));
+ seq_buf_puts(&sb, ", super speed plus");
break;
default:
break;
}
+
+ seq_buf_str(&sb);
}
static void snd_usb_init_quirk_flags(int idx, struct snd_usb_audio *chip)
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 06/28] comedi: comedi_bond: Refactor strlcat() to seq_buf in do_dev_config()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (4 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 05/28] ALSA: usb-audio: Refactor usb_audio_make_longname() to use seq_buf Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 07/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_psymb_init() Bill Wendling
` (23 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
do_dev_config() builds a space-separated list of bonded devices in
devpriv->name by formatting each "minor:subdev " pair into a temporary
stack buffer with snprintf() and appending it with strlcat() in a loop.
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf and seq_buf_printf() to format each entry directly into
devpriv->name. This avoids repeated rescanning of devpriv->name and
eliminates the temporary buffer.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: SecurityEngineerAgent:Gemini2.5 [editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/comedi/drivers/comedi_bond.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/drivers/comedi/drivers/comedi_bond.c b/drivers/comedi/drivers/comedi_bond.c
index 8e10ecab4f0d..a10cfbd04c72 100644
--- a/drivers/comedi/drivers/comedi_bond.c
+++ b/drivers/comedi/drivers/comedi_bond.c
@@ -39,6 +39,7 @@
#include <linux/module.h>
#include <linux/string.h>
+#include <linux/seq_buf.h>
#include <linux/slab.h>
#include <linux/comedi.h>
#include <linux/comedi/comedilib.h>
@@ -170,10 +171,11 @@ static int do_dev_config(struct comedi_device *dev, struct comedi_devconfig *it)
{
struct comedi_bond_private *devpriv = dev->private;
DECLARE_BITMAP(devs_opened, COMEDI_NUM_BOARD_MINORS);
+ struct seq_buf s;
int i;
memset(&devs_opened, 0, sizeof(devs_opened));
- devpriv->name[0] = 0;
+ seq_buf_init(&s, devpriv->name, sizeof(devpriv->name));
/*
* Loop through all comedi devices specified on the command-line,
* building our device list.
@@ -250,15 +252,9 @@ static int do_dev_config(struct comedi_device *dev, struct comedi_devconfig *it)
}
devpriv->devs = devs;
devpriv->devs[devpriv->ndevs++] = bdev;
- {
- /* Append dev:subdev to devpriv->name */
- char buf[20];
- snprintf(buf, sizeof(buf), "%u:%u ",
- bdev->minor, bdev->subdev);
- strlcat(devpriv->name, buf,
- sizeof(devpriv->name));
- }
+ /* Append dev:subdev to devpriv->name */
+ seq_buf_printf(&s, "%u:%u ", bdev->minor, bdev->subdev);
}
}
@@ -267,6 +263,8 @@ static int do_dev_config(struct comedi_device *dev, struct comedi_devconfig *it)
return -EINVAL;
}
+ seq_buf_str(&s);
+
return 0;
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 07/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_psymb_init()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (5 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 06/28] comedi: comedi_bond: Refactor strlcat() to seq_buf in do_dev_config() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 08/28] devlink: Refactor strlcat() to seq_buf in __devlink_compat_running_version() Bill Wendling
` (22 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
Similar to bfa_fcs_fabric_nsymb_init(), bfa_fcs_fabric_psymb_init()
builds the port symbolic name using strscpy() and a chain of seven or
eight strlcat() calls.
In preparation for removing the deprecated strlcat() API[1], replace the
chained strscpy() and strlcat() calls with a single snprintf() call.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Gemini-3.5-Pro:20241215 [editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/scsi/bfa/bfa_fcs.c | 49 ++++++++++----------------------------
1 file changed, 13 insertions(+), 36 deletions(-)
diff --git a/drivers/scsi/bfa/bfa_fcs.c b/drivers/scsi/bfa/bfa_fcs.c
index 7a4e0e8c7182..9fe0343c0b32 100644
--- a/drivers/scsi/bfa/bfa_fcs.c
+++ b/drivers/scsi/bfa/bfa_fcs.c
@@ -760,49 +760,26 @@ bfa_fcs_fabric_psymb_init(struct bfa_fcs_fabric_s *fabric)
bfa_ioc_get_adapter_model(&fabric->fcs->bfa->ioc, model);
- /* Model name/number */
- strscpy(port_cfg->sym_name.symname, model,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->sym_name.symname, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* Driver Version */
- strlcat(port_cfg->sym_name.symname, driver_info->version,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->sym_name.symname, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* Host machine name */
- strlcat(port_cfg->sym_name.symname,
- driver_info->host_machine_name,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->sym_name.symname, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
/*
* Host OS Info :
* If OS Patch Info is not there, do not truncate any bytes from the
* OS name string and instead copy the entire OS info string (64 bytes).
*/
if (driver_info->host_os_patch[0] == '\0') {
- strlcat(port_cfg->sym_name.symname,
- driver_info->host_os_name,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->sym_name.symname,
- BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
+ snprintf(port_cfg->sym_name.symname, BFA_SYMNAME_MAXLEN,
+ "%s%s%s%s%s%s%s%s",
+ model, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->version, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->host_machine_name, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->host_os_name, BFA_FCS_PORT_SYMBNAME_SEPARATOR);
} else {
- strlcat(port_cfg->sym_name.symname,
- driver_info->host_os_name,
- BFA_SYMNAME_MAXLEN);
- strlcat(port_cfg->sym_name.symname,
- BFA_FCS_PORT_SYMBNAME_SEPARATOR,
- BFA_SYMNAME_MAXLEN);
-
- /* Append host OS Patch Info */
- strlcat(port_cfg->sym_name.symname,
- driver_info->host_os_patch,
- BFA_SYMNAME_MAXLEN);
+ snprintf(port_cfg->sym_name.symname, BFA_SYMNAME_MAXLEN,
+ "%s%s%s%s%s%s%s%s%s",
+ model, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->version, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->host_machine_name, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->host_os_name, BFA_FCS_PORT_SYMBNAME_SEPARATOR,
+ driver_info->host_os_patch);
}
/* null terminate */
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 08/28] devlink: Refactor strlcat() to seq_buf in __devlink_compat_running_version()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (6 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 07/28] scsi: bfa: Use snprintf() in bfa_fcs_fabric_psymb_init() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 09/28] drm/dp_mst: Refactor build_mst_prop_path() to use seq_buf Bill Wendling
` (21 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
__devlink_compat_running_version() appends running firmware version
strings and spaces to "buf" inside nested netlink attribute loops using
strlcat(), rescanning "buf" on every iteration.
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf anchored at the current length of "buf" and append each version
entry with seq_buf_printf().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:v1 [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
net/devlink/dev.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/net/devlink/dev.c b/net/devlink/dev.c
index 55959b0ff5ab..987b071345c4 100644
--- a/net/devlink/dev.c
+++ b/net/devlink/dev.c
@@ -5,6 +5,7 @@
*/
#include <linux/device.h>
+#include <linux/seq_buf.h>
#include <net/genetlink.h>
#include <net/sock.h>
#include "devl_internal.h"
@@ -1190,6 +1191,7 @@ static void __devlink_compat_running_version(struct devlink *devlink,
{
struct devlink_info_req req = {};
const struct nlattr *nlattr;
+ struct seq_buf s;
struct sk_buff *msg;
int rem, err;
@@ -1202,6 +1204,9 @@ static void __devlink_compat_running_version(struct devlink *devlink,
if (err)
goto free_msg;
+ seq_buf_init(&s, buf, len);
+ s.len = strnlen(buf, len);
+
nla_for_each_attr_type(nlattr, DEVLINK_ATTR_INFO_VERSION_RUNNING,
(void *)msg->data, msg->len, rem) {
const struct nlattr *kv;
@@ -1209,8 +1214,7 @@ static void __devlink_compat_running_version(struct devlink *devlink,
nla_for_each_nested_type(kv, DEVLINK_ATTR_INFO_VERSION_VALUE,
nlattr, rem_kv) {
- strlcat(buf, nla_data(kv), len);
- strlcat(buf, " ", len);
+ seq_buf_printf(&s, "%s ", (const char *)nla_data(kv));
}
}
free_msg:
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 09/28] drm/dp_mst: Refactor build_mst_prop_path() to use seq_buf
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (7 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 08/28] devlink: Refactor strlcat() to seq_buf in __devlink_compat_running_version() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 10/28] of/fdt: Replace strlcat() with snprintf() in early_init_dt_scan_chosen() Bill Wendling
` (20 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
build_mst_prop_path() constructs an MST property path by formatting port
numbers into a temporary buffer and appending them to "proppath" with
strlcat() in a loop.
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf and seq_buf_printf() to format the path components directly into
"proppath", eliminating the temporary buffer and repeated string scans.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Claude-3-5-Sonnet:20241022 [editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/gpu/drm/display/drm_dp_mst_topology.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
index 7ce9e212770a..229b5fec44bf 100644
--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
@@ -29,6 +29,7 @@
#include <linux/kernel.h>
#include <linux/random.h>
#include <linux/sched.h>
+#include <linux/seq_buf.h>
#include <linux/seq_file.h>
#if IS_ENABLED(CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS)
@@ -2216,19 +2217,21 @@ static void build_mst_prop_path(const struct drm_dp_mst_branch *mstb,
char *proppath,
size_t proppath_size)
{
+ struct seq_buf s;
int i;
- char temp[8];
- snprintf(proppath, proppath_size, "mst:%d", mstb->mgr->conn_base_id);
+ seq_buf_init(&s, proppath, proppath_size);
+
+ seq_buf_printf(&s, "mst:%d", mstb->mgr->conn_base_id);
for (i = 0; i < (mstb->lct - 1); i++) {
int shift = (i % 2) ? 0 : 4;
int port_num = (mstb->rad[i / 2] >> shift) & 0xf;
- snprintf(temp, sizeof(temp), "-%d", port_num);
- strlcat(proppath, temp, proppath_size);
+ seq_buf_printf(&s, "-%d", port_num);
}
- snprintf(temp, sizeof(temp), "-%d", pnum);
- strlcat(proppath, temp, proppath_size);
+ seq_buf_printf(&s, "-%d", pnum);
+
+ seq_buf_str(&s);
}
/**
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 10/28] of/fdt: Replace strlcat() with snprintf() in early_init_dt_scan_chosen()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (8 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 09/28] drm/dp_mst: Refactor build_mst_prop_path() to use seq_buf Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 15:05 ` Rob Herring
2026-09-15 8:18 ` [PATCH 11/28] wifi: brcmfmac: Replace strlcat() with snprintf() in brcmf_fw_alloc_request() Bill Wendling
` (19 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
When CONFIG_CMDLINE_EXTEND is enabled, early_init_dt_scan_chosen() uses
two strlcat() calls to append a space and CONFIG_CMDLINE to the command
line buffer.
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() calls with a single snprintf() call using the existing string
length.
Additionally, check for a NULL initial_boot_params pointer and jump to
"handle_cmdline" so that CONFIG_CMDLINE handling still occurs without
dereferencing a NULL FDT pointer in fdt_path_offset().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Assistant:Claude-3.5-Sonnet [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/of/fdt.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index a64afc3ded3d..311021a83f03 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1095,6 +1095,9 @@ int __init early_init_dt_scan_chosen(char *cmdline)
const void *rng_seed;
const void *fdt = initial_boot_params;
+ if (!fdt)
+ goto handle_cmdline;
+
node = fdt_path_offset(fdt, "/chosen");
if (node < 0)
node = fdt_path_offset(fdt, "/chosen@0");
@@ -1133,8 +1136,12 @@ int __init early_init_dt_scan_chosen(char *cmdline)
*/
#ifdef CONFIG_CMDLINE
#if defined(CONFIG_CMDLINE_EXTEND)
- strlcat(cmdline, " ", COMMAND_LINE_SIZE);
- strlcat(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ {
+ size_t len = strlen(cmdline);
+
+ if (len < COMMAND_LINE_SIZE)
+ snprintf(cmdline + len, COMMAND_LINE_SIZE - len, " %s", CONFIG_CMDLINE);
+ }
#elif defined(CONFIG_CMDLINE_FORCE)
strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
#else
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 10/28] of/fdt: Replace strlcat() with snprintf() in early_init_dt_scan_chosen()
2026-09-15 8:18 ` [PATCH 10/28] of/fdt: Replace strlcat() with snprintf() in early_init_dt_scan_chosen() Bill Wendling
@ 2026-09-15 15:05 ` Rob Herring
0 siblings, 0 replies; 46+ messages in thread
From: Rob Herring @ 2026-09-15 15:05 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Saravana Kannan,
Krzysztof Kozlowski, Sylwester Nawrocki, Peter Griffin,
Alim Akhtar, Linus Walleij, Anil Gurumurthy, Sudarsana Kalluru,
Martin K. Petersen, Trond Myklebust, Anna Schumaker,
Mike Marshall, Martin Brandenburg, Kees Cook, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:27AM +0000, Bill Wendling wrote:
> When CONFIG_CMDLINE_EXTEND is enabled, early_init_dt_scan_chosen() uses
> two strlcat() calls to append a space and CONFIG_CMDLINE to the command
> line buffer.
>
> In preparation for removing the deprecated strlcat() API[1], replace the
> strlcat() calls with a single snprintf() call using the existing string
> length.
>
> Additionally, check for a NULL initial_boot_params pointer and jump to
> "handle_cmdline" so that CONFIG_CMDLINE handling still occurs without
> dereferencing a NULL FDT pointer in fdt_path_offset().
>
> Link: https://github.com/KSPP/linux/issues/370 [1]
> Cc: codemender-patching+linux@google.com
> Assisted-by: Assistant:Claude-3.5-Sonnet [editor_update_file, shell_command_run]
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index a64afc3ded3d..311021a83f03 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -1095,6 +1095,9 @@ int __init early_init_dt_scan_chosen(char *cmdline)
> const void *rng_seed;
> const void *fdt = initial_boot_params;
>
> + if (!fdt)
> + goto handle_cmdline;
> +
> node = fdt_path_offset(fdt, "/chosen");
> if (node < 0)
> node = fdt_path_offset(fdt, "/chosen@0");
> @@ -1133,8 +1136,12 @@ int __init early_init_dt_scan_chosen(char *cmdline)
> */
> #ifdef CONFIG_CMDLINE
> #if defined(CONFIG_CMDLINE_EXTEND)
> - strlcat(cmdline, " ", COMMAND_LINE_SIZE);
> - strlcat(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
> + {
No need for brackets.
> + size_t len = strlen(cmdline);
> +
> + if (len < COMMAND_LINE_SIZE)
> + snprintf(cmdline + len, COMMAND_LINE_SIZE - len, " %s", CONFIG_CMDLINE);
> + }
> #elif defined(CONFIG_CMDLINE_FORCE)
> strscpy(cmdline, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
> #else
> --
> 2.55.0.1032.g73a4cd73de-goog
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 11/28] wifi: brcmfmac: Replace strlcat() with snprintf() in brcmf_fw_alloc_request()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (9 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 10/28] of/fdt: Replace strlcat() with snprintf() in early_init_dt_scan_chosen() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 12/28] fortify: Convert strlcat() to snprintf() in strcat() Bill Wendling
` (18 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
brcmf_fw_alloc_request() constructs firmware file paths by chaining
strscpy() and multiple strlcat() calls for the module parameter path,
separator, base name, and extension.
In preparation for removing the deprecated strlcat() API[1], format the
complete firmware path in a single snprintf() call.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: SecurityEngineer:GPT-4o [editor_update_file, make_kernel_build_single_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
.../broadcom/brcm80211/brcmfmac/firmware.c | 21 +++++++------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
index 22ff326f1924..2f74a952599e 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
@@ -845,22 +845,17 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev,
fwreq->n_items = n_fwnames;
for (j = 0; j < n_fwnames; j++) {
- fwreq->items[j].path = fwnames[j].path;
- fwnames[j].path[0] = '\0';
/* check if firmware path is provided by module parameter */
if (brcmf_mp_global.firmware_path[0] != '\0') {
- strscpy(fwnames[j].path, mp_path,
- BRCMF_FW_NAME_LEN);
-
- if (end != '/') {
- strlcat(fwnames[j].path, "/",
- BRCMF_FW_NAME_LEN);
- }
+ snprintf(fwnames[j].path, BRCMF_FW_NAME_LEN, "%s%s%s%s",
+ mp_path, (end == '/') ? "" : "/",
+ mapping_table[i].fw_base,
+ fwnames[j].extension);
+ } else {
+ snprintf(fwnames[j].path, BRCMF_FW_NAME_LEN, "%s%s",
+ mapping_table[i].fw_base,
+ fwnames[j].extension);
}
- strlcat(fwnames[j].path, mapping_table[i].fw_base,
- BRCMF_FW_NAME_LEN);
- strlcat(fwnames[j].path, fwnames[j].extension,
- BRCMF_FW_NAME_LEN);
fwreq->items[j].path = fwnames[j].path;
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 12/28] fortify: Convert strlcat() to snprintf() in strcat()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (10 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 11/28] wifi: brcmfmac: Replace strlcat() with snprintf() in brcmf_fw_alloc_request() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 13/28] i40e: Replace strlcat() with snprintf() in i40e_nvm_version_str() Bill Wendling
` (17 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
The fortified implementation of strcat() in include/linux/fortify-string.h
currently relies on strlcat() to perform bounded concatenation and detect
buffer overflows.
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() call in strcat(). When the destination buffer size is unknown
(SIZE_MAX), call __underlying_strcat() directly. Otherwise, determine the
destination length with __fortify_strlen() and append the source string
using __builtin_snprintf(), preserving the existing fortify_panic() check
on overflow.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: SecurityEngineer:Gemini1.5Pro [editor_update_file, shell_command_run, test_runner_run_kunit_test]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
include/linux/fortify-string.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/include/linux/fortify-string.h b/include/linux/fortify-string.h
index cf841dc71fef..0b489124bfcb 100644
--- a/include/linux/fortify-string.h
+++ b/include/linux/fortify-string.h
@@ -363,7 +363,12 @@ __FORTIFY_INLINE __diagnose_as(__builtin_strcat, 1, 2)
char *strcat(char * const POS p, const char *q)
{
const size_t p_size = __member_size(p);
- const size_t wanted = strlcat(p, q, p_size);
+
+ if (p_size == SIZE_MAX)
+ return __underlying_strcat(p, q);
+
+ const size_t p_len = __fortify_strlen(p);
+ const size_t wanted = p_len + __builtin_snprintf(p + p_len, p_size - p_len, "%s", q);
if (p_size <= wanted)
fortify_panic(FORTIFY_FUNC_strcat, FORTIFY_WRITE, p_size, wanted + 1, p);
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 13/28] i40e: Replace strlcat() with snprintf() in i40e_nvm_version_str()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (11 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 12/28] fortify: Convert strlcat() to snprintf() in strcat() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 14/28] ALSA: usb-audio: Refactor append_ctl_name() to use snprintf() Bill Wendling
` (16 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
i40e_nvm_version_str() uses strlcat() to optionally append the EETrackID
and combo image version strings to the NVM version buffer.
In preparation for removing the deprecated strlcat() API[1], replace these
strlcat() calls with bounded snprintf() calls at the current end of the
buffer.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:r1-preview [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/net/ethernet/intel/i40e/i40e.h | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 1b6a8fbaa648..9f792128a0ef 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -1059,19 +1059,26 @@ static inline char *i40e_nvm_version_str(struct i40e_hw *hw, char *buf,
size_t len)
{
char ver[16] = " ";
+ size_t offset;
/* Get NVM version */
i40e_info_nvm_ver(hw, buf, len);
/* Append EETrackID if provided */
i40e_info_eetrack(hw, &ver[1], sizeof(ver) - 1);
- if (strlen(ver) > 1)
- strlcat(buf, ver, len);
+ if (strlen(ver) > 1) {
+ offset = strlen(buf);
+ if (offset < len)
+ snprintf(buf + offset, len - offset, "%s", ver);
+ }
/* Append combo image version if provided */
i40e_info_civd_ver(hw, &ver[1], sizeof(ver) - 1);
- if (strlen(ver) > 1)
- strlcat(buf, ver, len);
+ if (strlen(ver) > 1) {
+ offset = strlen(buf);
+ if (offset < len)
+ snprintf(buf + offset, len - offset, "%s", ver);
+ }
return buf;
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 14/28] ALSA: usb-audio: Refactor append_ctl_name() to use snprintf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (12 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 13/28] i40e: Replace strlcat() with snprintf() in i40e_nvm_version_str() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 15/28] orangefs: Use seq_buf for debug help string generation Bill Wendling
` (15 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() call in append_ctl_name() with strlen() and snprintf(),
preserving its return value semantics (the total length of the string it
attempted to create).
Also replace an open-coded strlcat() call in build_connector_control()
with append_ctl_name().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:Claude-3-5-Sonnet [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
sound/usb/mixer.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index ecaa8bc08d7c..f64ecad4e77e 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1722,7 +1722,11 @@ const struct snd_kcontrol_new *snd_usb_feature_unit_ctl = &usb_feature_unit_ctl;
*/
static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str)
{
- return strlcat(kctl->id.name, str, sizeof(kctl->id.name));
+ size_t len = strlen(kctl->id.name);
+
+ if (len >= sizeof(kctl->id.name))
+ return len + strlen(str);
+ return len + snprintf(kctl->id.name + len, sizeof(kctl->id.name) - len, "%s", str);
}
/*
@@ -2090,7 +2094,7 @@ static void build_connector_control(struct usb_mixer_interface *mixer,
}
if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name)))
- strlcat(kctl->id.name, " Jack", sizeof(kctl->id.name));
+ append_ctl_name(kctl, " Jack");
else
get_connector_control_name(mixer, term, is_input, kctl->id.name,
sizeof(kctl->id.name));
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 15/28] orangefs: Use seq_buf for debug help string generation
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (13 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 14/28] ALSA: usb-audio: Refactor append_ctl_name() to use snprintf() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct pin bank names Bill Wendling
` (14 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
orangefs_prepare_debugfs_help_string() constructs the debugfs help text in
a dynamically allocated buffer using repeated strlcat() calls across
keyword loops, rescanning the buffer on every append.
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf to build the help string. This tracks the write position across
the loops, allows formatting each keyword line with a single
seq_buf_printf() call, and checks for truncation via
seq_buf_has_overflowed().
Additionally, replace the final strlcat() call that copies the completed
string into debug_help_string with strscpy().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Gemini:gemini-2.0-flash-exp [shell_command_run, editor_update_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
fs/orangefs/orangefs-debugfs.c | 36 +++++++++++++---------------------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/fs/orangefs/orangefs-debugfs.c b/fs/orangefs/orangefs-debugfs.c
index 9f94919a6bc6..6e2f9887eab4 100644
--- a/fs/orangefs/orangefs-debugfs.c
+++ b/fs/orangefs/orangefs-debugfs.c
@@ -37,6 +37,7 @@
*/
#include <linux/debugfs.h>
#include <linux/slab.h>
+#include <linux/seq_buf.h>
#include <linux/uaccess.h>
@@ -623,10 +624,10 @@ int orangefs_prepare_debugfs_help_string(int at_boot)
char *client_title = "Client Debug Keywords:\n";
char *kernel_title = "Kernel Debug Keywords:\n";
size_t string_size = DEBUG_HELP_STRING_SIZE;
- size_t result_size;
size_t i;
char *new;
int rc = -EINVAL;
+ struct seq_buf s;
gossip_debug(GOSSIP_UTILS_DEBUG, "%s: start\n", __func__);
@@ -640,17 +641,14 @@ int orangefs_prepare_debugfs_help_string(int at_boot)
goto out;
}
+ seq_buf_init(&s, new, string_size);
+
/*
- * strlcat(dst, src, size) will append at most
- * "size - strlen(dst) - 1" bytes of src onto dst,
- * null terminating the result, and return the total
- * length of the string it tried to create.
- *
* We'll just plow through here building our new debug
- * help string and let strlcat take care of assuring that
+ * help string and let seq_buf take care of assuring that
* dst doesn't overflow.
*/
- strlcat(new, client_title, string_size);
+ seq_buf_puts(&s, client_title);
if (!at_boot) {
@@ -665,24 +663,18 @@ int orangefs_prepare_debugfs_help_string(int at_boot)
goto out;
}
- for (i = 0; i < cdm_element_count; i++) {
- strlcat(new, "\t", string_size);
- strlcat(new, cdm_array[i].keyword, string_size);
- strlcat(new, "\n", string_size);
- }
+ for (i = 0; i < cdm_element_count; i++)
+ seq_buf_printf(&s, "\t%s\n", cdm_array[i].keyword);
}
- strlcat(new, "\n", string_size);
- strlcat(new, kernel_title, string_size);
+ seq_buf_puts(&s, "\n");
+ seq_buf_puts(&s, kernel_title);
- for (i = 0; i < num_kmod_keyword_mask_map; i++) {
- strlcat(new, "\t", string_size);
- strlcat(new, s_kmod_keyword_mask_map[i].keyword, string_size);
- result_size = strlcat(new, "\n", string_size);
- }
+ for (i = 0; i < num_kmod_keyword_mask_map; i++)
+ seq_buf_printf(&s, "\t%s\n", s_kmod_keyword_mask_map[i].keyword);
/* See if we tried to put too many bytes into "new"... */
- if (result_size >= string_size) {
+ if (seq_buf_has_overflowed(&s)) {
kfree(new);
goto out;
}
@@ -692,7 +684,7 @@ int orangefs_prepare_debugfs_help_string(int at_boot)
} else {
mutex_lock(&orangefs_help_file_lock);
memset(debug_help_string, 0, DEBUG_HELP_STRING_SIZE);
- strlcat(debug_help_string, new, string_size);
+ strscpy(debug_help_string, new, DEBUG_HELP_STRING_SIZE);
mutex_unlock(&orangefs_help_file_lock);
kfree(new);
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct pin bank names
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (14 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 15/28] orangefs: Use seq_buf for debug help string generation Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-16 6:01 ` Loktionov, Aleksandr
2026-09-15 8:18 ` [PATCH 17/28] MIPS: cmdline: Refactor bootcmdline_append() to use snprintf() Bill Wendling
` (13 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
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@google.com
Assisted-by: Gemini:Pro [editor_update_file, make_kernel_build_single_file, checkpatch_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
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.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* RE: [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct pin bank names
2026-09-15 8:18 ` [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct pin bank names Bill Wendling
@ 2026-09-16 6:01 ` Loktionov, Aleksandr
0 siblings, 0 replies; 46+ messages in thread
From: Loktionov, Aleksandr @ 2026-09-16 6:01 UTC (permalink / raw)
To: Bill Wendling, linux-kernel@vger.kernel.org
Cc: codemender-patching+linux@google.com, Russell King, Huacai Chen,
WANG Xuerui, Thomas Bogendoerfer, James E.J. Bottomley,
Helge Deller, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86@kernel.org, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Luck, Tony, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Brost, Matthew,
Thomas Hellström, Vivi, Rodrigo, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Nguyen, Anthony L,
Kitszel, Przemyslaw, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Deak, Imre,
Dmitry Baryshkov, Johan Hovold, Berg, Johannes,
Korenblit, Miriam Rachel, Alexander Stein, Cryolitia PukNgae,
Jiaming Zhang, Will Porter, Cen Zhang, Cássio Gabriel,
Rong Zhang, Arun Raghavan, linux-arm-kernel@lists.infradead.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linux-edac@vger.kernel.org,
dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
linux-input@vger.kernel.org, linux-media@vger.kernel.org,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev,
brcm80211-dev-list.pdl@broadcom.com, devicetree@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-nfs@vger.kernel.org,
devel@lists.orangefs.org, linux-hardening@vger.kernel.org,
linux-sound@vger.kernel.org
> -----Original Message-----
> From: Bill Wendling <morbo@google.com>
> Sent: Tuesday, September 15, 2026 10:19 AM
> To: linux-kernel@vger.kernel.org
> Cc: Bill Wendling <morbo@google.com>; codemender-
> patching+linux@google.com; Russell King <linux@armlinux.org.uk>;
> Huacai Chen <chenhuacai@kernel.org>; WANG Xuerui <kernel@xen0n.name>;
> Thomas Bogendoerfer <tsbogend@alpha.franken.de>; James E.J. Bottomley
> <James.Bottomley@HansenPartnership.com>; Helge Deller <deller@gmx.de>;
> Thomas Gleixner <tglx@kernel.org>; Ingo Molnar <mingo@redhat.com>;
> Borislav Petkov <bp@alien8.de>; Dave Hansen
> <dave.hansen@linux.intel.com>; x86@kernel.org; H. Peter Anvin
> <hpa@zytor.com>; Ian Abbott <abbotti@mev.co.uk>; H Hartley Sweeten
> <hsweeten@visionengravers.com>; Luck, Tony <tony.luck@intel.com>;
> Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard
> <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David
> Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Brost,
> Matthew <matthew.brost@intel.com>; Thomas Hellström
> <thomas.hellstrom@linux.intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Dmitry Torokhov <dmitry.torokhov@gmail.com>;
> Matthias Schwarzott <zzam@gentoo.org>; Mauro Carvalho Chehab
> <mchehab@kernel.org>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>;
> Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn
> <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric
> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo
> Abeni <pabeni@redhat.com>; Arend van Spriel
> <arend.vanspriel@broadcom.com>; Rob Herring <robh@kernel.org>;
> Saravana Kannan <saravanak@kernel.org>; Krzysztof Kozlowski
> <krzk@kernel.org>; Sylwester Nawrocki <s.nawrocki@samsung.com>; Peter
> Griffin <peter.griffin@linaro.org>; Alim Akhtar
> <alim.akhtar@samsung.com>; Linus Walleij <linusw@kernel.org>; Anil
> Gurumurthy <anil.gurumurthy@qlogic.com>; Sudarsana Kalluru
> <sudarsana.kalluru@qlogic.com>; Martin K. Petersen <mkp@kernel.org>;
> Trond Myklebust <trondmy@kernel.org>; Anna Schumaker
> <anna@kernel.org>; Mike Marshall <hubcap@omnibond.com>; Martin
> Brandenburg <martin@omnibond.com>; Kees Cook <kees@kernel.org>; Jiri
> Pirko <jiri@resnulli.us>; Simon Horman <horms@kernel.org>; Chuck Lever
> <cel@kernel.org>; Jeff Layton <jlayton@kernel.org>; NeilBrown
> <neil@brown.name>; Olga Kornievskaia <okorniev@redhat.com>; Dai Ngo
> <Dai.Ngo@oracle.com>; Tom Talpey <tom@talpey.com>; Jaroslav Kysela
> <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Andrew Morton
> <akpm@linux-foundation.org>; Mike Rapoport (Microsoft)
> <rppt@kernel.org>; Kanglong Wang <wangkanglong@loongson.cn>; Tiezhu
> Yang <yangtiezhu@loongson.cn>; Qiang Ma <maqianga@uniontech.com>;
> Randy Dunlap <rdunlap@infradead.org>; Pengpeng Hou
> <pengpeng@iscas.ac.cn>; Ard Biesheuvel <ardb@kernel.org>; Breno Leitao
> <leitao@debian.org>; Thorsten Blum <blum@kernel.org>; Harshit
> Mogalapalli <harshit.m.mogalapalli@oracle.com>; Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>; Lyude Paul <lyude@redhat.com>; Ashutosh
> Desai <ashutoshdesai993@gmail.com>; Deak, Imre <imre.deak@intel.com>;
> Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>; Johan Hovold
> <johan@kernel.org>; Berg, Johannes <johannes.berg@intel.com>;
> Korenblit, Miriam Rachel <miriam.rachel.korenblit@intel.com>;
> Alexander Stein <alexander.stein@ew.tq-group.com>; Cryolitia PukNgae
> <cryolitia@uniontech.com>; Jiaming Zhang <r772577952@gmail.com>; Will
> Porter <mrwillporter@gmail.com>; Cen Zhang <zzzccc427@gmail.com>;
> Cássio Gabriel <cassiogabrielcontato@gmail.com>; Rong Zhang
> <i@rong.moe>; Arun Raghavan <arunr@valvesoftware.com>; linux-arm-
> kernel@lists.infradead.org; loongarch@lists.linux.dev; linux-
> mips@vger.kernel.org; linux-parisc@vger.kernel.org; linux-
> edac@vger.kernel.org; dri-devel@lists.freedesktop.org; intel-
> xe@lists.freedesktop.org; linux-input@vger.kernel.org; linux-
> media@vger.kernel.org; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; linux-wireless@vger.kernel.org;
> brcm80211@lists.linux.dev; brcm80211-dev-list.pdl@broadcom.com;
> devicetree@vger.kernel.org; linux-samsung-soc@vger.kernel.org; linux-
> gpio@vger.kernel.org; linux-scsi@vger.kernel.org; linux-
> nfs@vger.kernel.org; devel@lists.orangefs.org; linux-
> hardening@vger.kernel.org; linux-sound@vger.kernel.org
> Subject: [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct
> pin bank names
>
> 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@google.com
> Assisted-by: Gemini:Pro [editor_update_file,
> make_kernel_build_single_file, checkpatch_run]
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Ian Abbott <abbotti@mev.co.uk>
> Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Matthias Schwarzott <zzam@gentoo.org>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Saravana Kannan <saravanak@kernel.org>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Peter Griffin <peter.griffin@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: Linus Walleij <linusw@kernel.org>
> Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
> Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
> Cc: "Martin K. Petersen" <mkp@kernel.org>
> Cc: Trond Myklebust <trondmy@kernel.org>
> Cc: Anna Schumaker <anna@kernel.org>
> Cc: Mike Marshall <hubcap@omnibond.com>
> Cc: Martin Brandenburg <martin@omnibond.com>
> Cc: Kees Cook <kees@kernel.org>
> Cc: Jiri Pirko <jiri@resnulli.us>
> Cc: Simon Horman <horms@kernel.org>
> Cc: Chuck Lever <cel@kernel.org>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: NeilBrown <neil@brown.name>
> Cc: Olga Kornievskaia <okorniev@redhat.com>
> Cc: Dai Ngo <Dai.Ngo@oracle.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: Bill Wendling <morbo@google.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> Cc: Kanglong Wang <wangkanglong@loongson.cn>
> Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
> Cc: Qiang Ma <maqianga@uniontech.com>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Breno Leitao <leitao@debian.org>
> Cc: Thorsten Blum <blum@kernel.org>
> Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Lyude Paul <lyude@redhat.com>
> Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Cc: Johan Hovold <johan@kernel.org>
> Cc: Johannes Berg <johannes.berg@intel.com>
> Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
> Cc: Jiaming Zhang <r772577952@gmail.com>
> Cc: Will Porter <mrwillporter@gmail.com>
> Cc: Cen Zhang <zzzccc427@gmail.com>
> Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
> Cc: Rong Zhang <i@rong.moe>
> Cc: Arun Raghavan <arunr@valvesoftware.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-mips@vger.kernel.org
> Cc: linux-parisc@vger.kernel.org
> Cc: linux-edac@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: intel-xe@lists.freedesktop.org
> Cc: linux-input@vger.kernel.org
> Cc: linux-media@vger.kernel.org
> Cc: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Cc: linux-wireless@vger.kernel.org
> Cc: brcm80211@lists.linux.dev
> Cc: brcm80211-dev-list.pdl@broadcom.com
> Cc: devicetree@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-nfs@vger.kernel.org
> Cc: devel@lists.orangefs.org
> Cc: linux-hardening@vger.kernel.org
> Cc: linux-sound@vger.kernel.org
> ---
> 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.55.0.1032.g73a4cd73de-goog
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 17/28] MIPS: cmdline: Refactor bootcmdline_append() to use snprintf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (15 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 16/28] pinctrl: samsung: Use snprintf() to construct pin bank names Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 18/28] LoongArch: Refactor bootcmdline_init() to use seq_buf instead of strlcat() Bill Wendling
` (12 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
bootcmdline_append() passes "max" (the maximum length of the source
string "s") as the destination buffer size argument to strlcat(). Because
strlcat() expects the total size of the destination buffer
(COMMAND_LINE_SIZE), it fails to append anything whenever "max" is smaller
than the current length of boot_command_line, and could overflow
boot_command_line if "max" exceeds COMMAND_LINE_SIZE.
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() calls with snprintf() using the "%.*s" precision specifier. This
bounds the read from "s" to at most "max" bytes while properly respecting
the remaining space in boot_command_line.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: SecurityEngineer:Gemini2.5Pro [editor_update_file, shell_command_run, make_kernel_build_single_file, test_runner_run_kunit_test]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
arch/mips/kernel/setup.c | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 1ae6d0c0e1d6..0d9c2137d675 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -518,13 +518,28 @@ static void __init check_kernel_sections_mem(void)
static void __init bootcmdline_append(const char *s, size_t max)
{
+ size_t len;
+ int prec;
+
if (!s[0] || !max)
return;
- if (boot_command_line[0])
- strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
+ len = strlen(boot_command_line);
+ if (len >= COMMAND_LINE_SIZE - 1)
+ return;
- strlcat(boot_command_line, s, max);
+ if (len) {
+ if (COMMAND_LINE_SIZE - len < 3)
+ return;
+
+ prec = min_t(size_t, max, COMMAND_LINE_SIZE - len - 2);
+ snprintf(boot_command_line + len, COMMAND_LINE_SIZE - len, " %.*s",
+ prec, s);
+ } else {
+ prec = min_t(size_t, max, COMMAND_LINE_SIZE - 1);
+ snprintf(boot_command_line, COMMAND_LINE_SIZE, "%.*s",
+ prec, s);
+ }
}
#ifdef CONFIG_OF_EARLY_FLATTREE
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 18/28] LoongArch: Refactor bootcmdline_init() to use seq_buf instead of strlcat()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (16 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 17/28] MIPS: cmdline: Refactor bootcmdline_append() to use snprintf() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 19/28] x86/setup: Use snprintf() to concatenate builtin and boot command lines Bill Wendling
` (11 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
bootcmdline_init() uses multiple strlcat() calls to append
init_command_line or CONFIG_CMDLINE to boot_command_line.
In preparation for removing the deprecated strlcat() API[1], initialize a
struct seq_buf with the existing contents of boot_command_line and use
seq_buf_puts() to append the command line fragments.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:1.0 [shell_command_run, editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
arch/loongarch/kernel/setup.c | 22 +++++++++++++++-------
1 file changed, 15 insertions(+), 7 deletions(-)
diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c
index 6fa4a22a58fd..826396f141b9 100644
--- a/arch/loongarch/kernel/setup.c
+++ b/arch/loongarch/kernel/setup.c
@@ -33,6 +33,7 @@
#include <linux/of_address.h>
#include <linux/suspend.h>
#include <linux/swiotlb.h>
+#include <linux/seq_buf.h>
#include <asm/addrspace.h>
#include <asm/alternative.h>
@@ -305,6 +306,8 @@ static void __init fdt_setup(void)
static void __init bootcmdline_init(char **cmdline_p)
{
+ struct seq_buf s;
+
/*
* If CONFIG_CMDLINE_FORCE is enabled then initializing the command line
* is trivial - we simply use the built-in command line unconditionally &
@@ -315,6 +318,11 @@ static void __init bootcmdline_init(char **cmdline_p)
goto out;
}
+ /* Initialize seq_buf pointing to boot_command_line */
+ s.buffer = boot_command_line;
+ s.size = COMMAND_LINE_SIZE;
+ s.len = strlen(boot_command_line);
+
#ifdef CONFIG_OF_FLATTREE
/*
* If CONFIG_CMDLINE_BOOTLOADER is enabled and we are in FDT-based system,
@@ -323,11 +331,11 @@ static void __init bootcmdline_init(char **cmdline_p)
* to boot_command_line.
*/
if (initial_boot_params) {
- if (boot_command_line[0])
- strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
+ if (s.len)
+ seq_buf_puts(&s, " ");
- if (!strstr(boot_command_line, init_command_line))
- strlcat(boot_command_line, init_command_line, COMMAND_LINE_SIZE);
+ if (!strstr(s.buffer, init_command_line))
+ seq_buf_puts(&s, init_command_line);
goto out;
}
@@ -338,14 +346,14 @@ static void __init bootcmdline_init(char **cmdline_p)
* CONFIG_CMDLINE_EXTEND is enabled.
*/
if (IS_ENABLED(CONFIG_CMDLINE_EXTEND) && CONFIG_CMDLINE[0]) {
- strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
- strlcat(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ seq_buf_puts(&s, " ");
+ seq_buf_puts(&s, CONFIG_CMDLINE);
}
/*
* Use built-in command line if the bootloader command line is empty.
*/
- if (IS_ENABLED(CONFIG_CMDLINE_BOOTLOADER) && !boot_command_line[0])
+ if (IS_ENABLED(CONFIG_CMDLINE_BOOTLOADER) && !s.len)
strscpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
out:
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 19/28] x86/setup: Use snprintf() to concatenate builtin and boot command lines
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (17 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 18/28] LoongArch: Refactor bootcmdline_init() to use seq_buf instead of strlcat() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 20/28] parisc: Refactor strlcat() to seq_buf in setup_cmdline() Bill Wendling
` (10 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
When CONFIG_CMDLINE_BOOL is enabled without CONFIG_CMDLINE_OVERRIDE,
setup_arch() appends boot_command_line to builtin_cmdline using two
strlcat() calls before copying the result back to boot_command_line.
In preparation for removing the deprecated strlcat() API[1], format the
combined command line into a temporary buffer using a single snprintf()
call and copy the result to both builtin_cmdline and boot_command_line.
Using a temporary buffer avoids undefined behavior from passing overlapping
source and destination buffers to snprintf().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Developer:Gemini_2.5_Pro [editor_update_file, make_kernel_build_single_file, checkpatch_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
arch/x86/kernel/setup.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index cda6adb9f69c..c40e0edd7c13 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -916,9 +916,11 @@ void __init setup_arch(char **cmdline_p)
#else
if (builtin_cmdline[0]) {
/* append boot loader cmdline to builtin */
- strlcat(builtin_cmdline, " ", COMMAND_LINE_SIZE);
- strlcat(builtin_cmdline, boot_command_line, COMMAND_LINE_SIZE);
- strscpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
+ char tmp[COMMAND_LINE_SIZE];
+
+ snprintf(tmp, COMMAND_LINE_SIZE, "%s %s", builtin_cmdline, boot_command_line);
+ strscpy(builtin_cmdline, tmp, COMMAND_LINE_SIZE);
+ strscpy(boot_command_line, tmp, COMMAND_LINE_SIZE);
}
#endif
builtin_cmdline_added = true;
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 20/28] parisc: Refactor strlcat() to seq_buf in setup_cmdline()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (18 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 19/28] x86/setup: Use snprintf() to concatenate builtin and boot command lines Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf() Bill Wendling
` (9 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
setup_cmdline() uses multiple strlcat() calls to conditionally append
default console and earlycon parameters to boot_command_line.
In preparation for removing the deprecated strlcat() API[1], initialize a
struct seq_buf with the existing boot_command_line contents and use
seq_buf_printf() to append the console parameters.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:Gemini-1.5-Pro [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
arch/parisc/kernel/setup.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c
index d3e17a7a8901..fa3efc82ad87 100644
--- a/arch/parisc/kernel/setup.c
+++ b/arch/parisc/kernel/setup.c
@@ -17,6 +17,7 @@
#include <linux/init.h>
#include <linux/console.h>
#include <linux/seq_file.h>
+#include <linux/seq_buf.h>
#define PCI_DEBUG
#include <linux/pci.h>
#undef PCI_DEBUG
@@ -42,6 +43,7 @@ static char __initdata command_line[COMMAND_LINE_SIZE];
static void __init setup_cmdline(char **cmdline_p)
{
extern unsigned int boot_args[];
+ struct seq_buf s;
char *p;
*cmdline_p = command_line;
@@ -54,19 +56,21 @@ static void __init setup_cmdline(char **cmdline_p)
strscpy(boot_command_line, (char *)__va(boot_args[1]),
COMMAND_LINE_SIZE);
+ s.buffer = boot_command_line;
+ s.size = COMMAND_LINE_SIZE;
+ s.len = strlen(boot_command_line);
+
/* autodetect console type (if not done by palo yet) */
p = boot_command_line;
if (!str_has_prefix(p, "console=") && !strstr(p, " console=")) {
- strlcat(p, " console=", COMMAND_LINE_SIZE);
- if (PAGE0->mem_cons.cl_class == CL_DUPLEX)
- strlcat(p, "ttyS0", COMMAND_LINE_SIZE);
- else
- strlcat(p, "tty0", COMMAND_LINE_SIZE);
+ seq_buf_printf(&s, " console=%s",
+ PAGE0->mem_cons.cl_class == CL_DUPLEX ?
+ "ttyS0" : "tty0");
}
/* default to use early console */
if (!strstr(p, "earlycon"))
- strlcat(p, " earlycon=pdc", COMMAND_LINE_SIZE);
+ seq_buf_printf(&s, " earlycon=pdc");
#ifdef CONFIG_BLK_DEV_INITRD
/* did palo pass us a ramdisk? */
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (19 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 20/28] parisc: Refactor strlcat() to seq_buf in setup_cmdline() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 18:52 ` Kees Cook
2026-09-15 8:18 ` [PATCH 22/28] media: si2165: Use snprintf() to format frontend name Bill Wendling
` (8 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
root_nfs_cat() computes the length of "dest" with strlen(), but then uses
up to two strlcat() calls to append a comma separator and "src",
rescanning "dest" each time.
In preparation for removing the deprecated strlcat() API[1], use the
already-computed length and a single snprintf() call to append the
optional comma and "src", returning -1 if the result is truncated.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:Claude-3.5-Sonnet [editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
fs/nfs/nfsroot.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
index 432612d22437..a28208414aec 100644
--- a/fs/nfs/nfsroot.c
+++ b/fs/nfs/nfsroot.c
@@ -173,12 +173,15 @@ static int __init root_nfs_cat(char *dest, const char *src,
const size_t destlen)
{
size_t len = strlen(dest);
+ int ret;
- if (len && dest[len - 1] != ',')
- if (strlcat(dest, ",", destlen) >= destlen)
- return -1;
+ if (len >= destlen)
+ return -1;
- if (strlcat(dest, src, destlen) >= destlen)
+ ret = snprintf(dest + len, destlen - len, "%s%s",
+ (len && dest[len - 1] != ',') ? "," : "", src);
+
+ if (ret < 0 || ret >= destlen - len)
return -1;
return 0;
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf()
2026-09-15 8:18 ` [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf() Bill Wendling
@ 2026-09-15 18:52 ` Kees Cook
2026-09-15 19:30 ` Bill Wendling
0 siblings, 1 reply; 46+ messages in thread
From: Kees Cook @ 2026-09-15 18:52 UTC (permalink / raw)
To: Bill Wendling, nikitash.mariiaw
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:38AM +0000, Bill Wendling wrote:
> fs/nfs/nfsroot.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
This collides with:
https://lore.kernel.org/all/27956255dde39f58d73a7b51cb53cbe3d7804f54.1786411026.git.mariianikitash@google.com/
> + ret = snprintf(dest + len, destlen - len, "%s%s",
> + (len && dest[len - 1] != ',') ? "," : "", src);
I prefer Mariia's version because this inline ternary is difficult
to read.
I was expecting to land hers soon if the NFS folks don't pipe up. It is
one of the rare cases of still being open-coded, but the strlen() usage
was pre-existing to check for the trailing comma, so it's not a clean
seq_buf() conversion candidate...
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf()
2026-09-15 18:52 ` Kees Cook
@ 2026-09-15 19:30 ` Bill Wendling
0 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 19:30 UTC (permalink / raw)
To: Kees Cook
Cc: nikitash.mariiaw, linux-kernel, codemender-patching+linux,
Russell King, Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 11:52 AM Kees Cook <kees@kernel.org> wrote:
>
> On Tue, Sep 15, 2026 at 08:18:38AM +0000, Bill Wendling wrote:
> > fs/nfs/nfsroot.c | 11 +++++++----
> > 1 file changed, 7 insertions(+), 4 deletions(-)
>
> This collides with:
> https://lore.kernel.org/all/27956255dde39f58d73a7b51cb53cbe3d7804f54.1786411026.git.mariianikitash@google.com/
>
> > + ret = snprintf(dest + len, destlen - len, "%s%s",
> > + (len && dest[len - 1] != ',') ? "," : "", src);
>
> I prefer Mariia's version because this inline ternary is difficult
> to read.
>
Agreed. I was trying to not stomp on her work. Please ignore this patch.
-bw
> I was expecting to land hers soon if the NFS folks don't pipe up. It is
> one of the rare cases of still being open-coded, but the strlen() usage
> was pre-existing to check for the trailing comma, so it's not a clean
> seq_buf() conversion candidate...
>
> --
> Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 22/28] media: si2165: Use snprintf() to format frontend name
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (20 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 21/28] NFS: nfsroot: Refactor root_nfs_cat() to use snprintf() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-16 6:02 ` Loktionov, Aleksandr
2026-09-15 8:18 ` [PATCH 23/28] Input: synaptics_usb - use seq_buf and snprintf() for name and phys Bill Wendling
` (7 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
si2165_probe() constructs the frontend name by appending the chip name and
supported delivery system suffixes (" DVB-T", " DVB-C") to
state->fe.ops.info.name using multiple strlcat() calls.
In preparation for removing the deprecated strlcat() API[1], format the
complete frontend name in a single snprintf() call.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Developer:Gemini [editor_update_file, make_kernel_build_single_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/media/dvb-frontends/si2165.c | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-frontends/si2165.c
index f1241b63aa5c..bd15eb58fc84 100644
--- a/drivers/media/dvb-frontends/si2165.c
+++ b/drivers/media/dvb-frontends/si2165.c
@@ -1243,20 +1243,17 @@ static int si2165_probe(struct i2c_client *client)
chip_name, rev_char, state->chip_type,
state->chip_revcode);
- strlcat(state->fe.ops.info.name, chip_name,
- sizeof(state->fe.ops.info.name));
+ snprintf(state->fe.ops.info.name, sizeof(state->fe.ops.info.name),
+ "Silicon Labs %s%s%s",
+ chip_name,
+ state->has_dvbt ? " DVB-T" : "",
+ state->has_dvbc ? " DVB-C" : "");
n = 0;
- if (state->has_dvbt) {
+ if (state->has_dvbt)
state->fe.ops.delsys[n++] = SYS_DVBT;
- strlcat(state->fe.ops.info.name, " DVB-T",
- sizeof(state->fe.ops.info.name));
- }
- if (state->has_dvbc) {
+ if (state->has_dvbc)
state->fe.ops.delsys[n++] = SYS_DVBC_ANNEX_A;
- strlcat(state->fe.ops.info.name, " DVB-C",
- sizeof(state->fe.ops.info.name));
- }
/* return fe pointer */
*pdata->fe = &state->fe;
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* RE: [PATCH 22/28] media: si2165: Use snprintf() to format frontend name
2026-09-15 8:18 ` [PATCH 22/28] media: si2165: Use snprintf() to format frontend name Bill Wendling
@ 2026-09-16 6:02 ` Loktionov, Aleksandr
0 siblings, 0 replies; 46+ messages in thread
From: Loktionov, Aleksandr @ 2026-09-16 6:02 UTC (permalink / raw)
To: Bill Wendling, linux-kernel@vger.kernel.org
Cc: codemender-patching+linux@google.com, Russell King, Huacai Chen,
WANG Xuerui, Thomas Bogendoerfer, James E.J. Bottomley,
Helge Deller, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86@kernel.org, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Luck, Tony, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Brost, Matthew,
Thomas Hellström, Vivi, Rodrigo, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Nguyen, Anthony L,
Kitszel, Przemyslaw, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Deak, Imre,
Dmitry Baryshkov, Johan Hovold, Berg, Johannes,
Korenblit, Miriam Rachel, Alexander Stein, Cryolitia PukNgae,
Jiaming Zhang, Will Porter, Cen Zhang, Cássio Gabriel,
Rong Zhang, Arun Raghavan, linux-arm-kernel@lists.infradead.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linux-edac@vger.kernel.org,
dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
linux-input@vger.kernel.org, linux-media@vger.kernel.org,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev,
brcm80211-dev-list.pdl@broadcom.com, devicetree@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-nfs@vger.kernel.org,
devel@lists.orangefs.org, linux-hardening@vger.kernel.org,
linux-sound@vger.kernel.org
> -----Original Message-----
> From: Bill Wendling <morbo@google.com>
> Sent: Tuesday, September 15, 2026 10:19 AM
> To: linux-kernel@vger.kernel.org
> Cc: Bill Wendling <morbo@google.com>; codemender-
> patching+linux@google.com; Russell King <linux@armlinux.org.uk>;
> Huacai Chen <chenhuacai@kernel.org>; WANG Xuerui <kernel@xen0n.name>;
> Thomas Bogendoerfer <tsbogend@alpha.franken.de>; James E.J. Bottomley
> <James.Bottomley@HansenPartnership.com>; Helge Deller <deller@gmx.de>;
> Thomas Gleixner <tglx@kernel.org>; Ingo Molnar <mingo@redhat.com>;
> Borislav Petkov <bp@alien8.de>; Dave Hansen
> <dave.hansen@linux.intel.com>; x86@kernel.org; H. Peter Anvin
> <hpa@zytor.com>; Ian Abbott <abbotti@mev.co.uk>; H Hartley Sweeten
> <hsweeten@visionengravers.com>; Luck, Tony <tony.luck@intel.com>;
> Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard
> <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David
> Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Brost,
> Matthew <matthew.brost@intel.com>; Thomas Hellström
> <thomas.hellstrom@linux.intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Dmitry Torokhov <dmitry.torokhov@gmail.com>;
> Matthias Schwarzott <zzam@gentoo.org>; Mauro Carvalho Chehab
> <mchehab@kernel.org>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>;
> Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn
> <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric
> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo
> Abeni <pabeni@redhat.com>; Arend van Spriel
> <arend.vanspriel@broadcom.com>; Rob Herring <robh@kernel.org>;
> Saravana Kannan <saravanak@kernel.org>; Krzysztof Kozlowski
> <krzk@kernel.org>; Sylwester Nawrocki <s.nawrocki@samsung.com>; Peter
> Griffin <peter.griffin@linaro.org>; Alim Akhtar
> <alim.akhtar@samsung.com>; Linus Walleij <linusw@kernel.org>; Anil
> Gurumurthy <anil.gurumurthy@qlogic.com>; Sudarsana Kalluru
> <sudarsana.kalluru@qlogic.com>; Martin K. Petersen <mkp@kernel.org>;
> Trond Myklebust <trondmy@kernel.org>; Anna Schumaker
> <anna@kernel.org>; Mike Marshall <hubcap@omnibond.com>; Martin
> Brandenburg <martin@omnibond.com>; Kees Cook <kees@kernel.org>; Jiri
> Pirko <jiri@resnulli.us>; Simon Horman <horms@kernel.org>; Chuck Lever
> <cel@kernel.org>; Jeff Layton <jlayton@kernel.org>; NeilBrown
> <neil@brown.name>; Olga Kornievskaia <okorniev@redhat.com>; Dai Ngo
> <Dai.Ngo@oracle.com>; Tom Talpey <tom@talpey.com>; Jaroslav Kysela
> <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Andrew Morton
> <akpm@linux-foundation.org>; Mike Rapoport (Microsoft)
> <rppt@kernel.org>; Kanglong Wang <wangkanglong@loongson.cn>; Tiezhu
> Yang <yangtiezhu@loongson.cn>; Qiang Ma <maqianga@uniontech.com>;
> Randy Dunlap <rdunlap@infradead.org>; Pengpeng Hou
> <pengpeng@iscas.ac.cn>; Ard Biesheuvel <ardb@kernel.org>; Breno Leitao
> <leitao@debian.org>; Thorsten Blum <blum@kernel.org>; Harshit
> Mogalapalli <harshit.m.mogalapalli@oracle.com>; Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>; Lyude Paul <lyude@redhat.com>; Ashutosh
> Desai <ashutoshdesai993@gmail.com>; Deak, Imre <imre.deak@intel.com>;
> Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>; Johan Hovold
> <johan@kernel.org>; Berg, Johannes <johannes.berg@intel.com>;
> Korenblit, Miriam Rachel <miriam.rachel.korenblit@intel.com>;
> Alexander Stein <alexander.stein@ew.tq-group.com>; Cryolitia PukNgae
> <cryolitia@uniontech.com>; Jiaming Zhang <r772577952@gmail.com>; Will
> Porter <mrwillporter@gmail.com>; Cen Zhang <zzzccc427@gmail.com>;
> Cássio Gabriel <cassiogabrielcontato@gmail.com>; Rong Zhang
> <i@rong.moe>; Arun Raghavan <arunr@valvesoftware.com>; linux-arm-
> kernel@lists.infradead.org; loongarch@lists.linux.dev; linux-
> mips@vger.kernel.org; linux-parisc@vger.kernel.org; linux-
> edac@vger.kernel.org; dri-devel@lists.freedesktop.org; intel-
> xe@lists.freedesktop.org; linux-input@vger.kernel.org; linux-
> media@vger.kernel.org; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; linux-wireless@vger.kernel.org;
> brcm80211@lists.linux.dev; brcm80211-dev-list.pdl@broadcom.com;
> devicetree@vger.kernel.org; linux-samsung-soc@vger.kernel.org; linux-
> gpio@vger.kernel.org; linux-scsi@vger.kernel.org; linux-
> nfs@vger.kernel.org; devel@lists.orangefs.org; linux-
> hardening@vger.kernel.org; linux-sound@vger.kernel.org
> Subject: [PATCH 22/28] media: si2165: Use snprintf() to format
> frontend name
>
> si2165_probe() constructs the frontend name by appending the chip name
> and supported delivery system suffixes (" DVB-T", " DVB-C") to
> state->fe.ops.info.name using multiple strlcat() calls.
>
> In preparation for removing the deprecated strlcat() API[1], format
> the complete frontend name in a single snprintf() call.
>
> Link: https://github.com/KSPP/linux/issues/370 [1]
> Cc: codemender-patching+linux@google.com
> Assisted-by: Developer:Gemini [editor_update_file,
> make_kernel_build_single_file, shell_command_run]
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Ian Abbott <abbotti@mev.co.uk>
> Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Matthias Schwarzott <zzam@gentoo.org>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Saravana Kannan <saravanak@kernel.org>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Peter Griffin <peter.griffin@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: Linus Walleij <linusw@kernel.org>
> Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
> Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
> Cc: "Martin K. Petersen" <mkp@kernel.org>
> Cc: Trond Myklebust <trondmy@kernel.org>
> Cc: Anna Schumaker <anna@kernel.org>
> Cc: Mike Marshall <hubcap@omnibond.com>
> Cc: Martin Brandenburg <martin@omnibond.com>
> Cc: Kees Cook <kees@kernel.org>
> Cc: Jiri Pirko <jiri@resnulli.us>
> Cc: Simon Horman <horms@kernel.org>
> Cc: Chuck Lever <cel@kernel.org>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: NeilBrown <neil@brown.name>
> Cc: Olga Kornievskaia <okorniev@redhat.com>
> Cc: Dai Ngo <Dai.Ngo@oracle.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: Bill Wendling <morbo@google.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> Cc: Kanglong Wang <wangkanglong@loongson.cn>
> Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
> Cc: Qiang Ma <maqianga@uniontech.com>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Breno Leitao <leitao@debian.org>
> Cc: Thorsten Blum <blum@kernel.org>
> Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Lyude Paul <lyude@redhat.com>
> Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Cc: Johan Hovold <johan@kernel.org>
> Cc: Johannes Berg <johannes.berg@intel.com>
> Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
> Cc: Jiaming Zhang <r772577952@gmail.com>
> Cc: Will Porter <mrwillporter@gmail.com>
> Cc: Cen Zhang <zzzccc427@gmail.com>
> Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
> Cc: Rong Zhang <i@rong.moe>
> Cc: Arun Raghavan <arunr@valvesoftware.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-mips@vger.kernel.org
> Cc: linux-parisc@vger.kernel.org
> Cc: linux-edac@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: intel-xe@lists.freedesktop.org
> Cc: linux-input@vger.kernel.org
> Cc: linux-media@vger.kernel.org
> Cc: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Cc: linux-wireless@vger.kernel.org
> Cc: brcm80211@lists.linux.dev
> Cc: brcm80211-dev-list.pdl@broadcom.com
> Cc: devicetree@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-nfs@vger.kernel.org
> Cc: devel@lists.orangefs.org
> Cc: linux-hardening@vger.kernel.org
> Cc: linux-sound@vger.kernel.org
> ---
> drivers/media/dvb-frontends/si2165.c | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/media/dvb-frontends/si2165.c b/drivers/media/dvb-
> frontends/si2165.c
> index f1241b63aa5c..bd15eb58fc84 100644
> --- a/drivers/media/dvb-frontends/si2165.c
> +++ b/drivers/media/dvb-frontends/si2165.c
> @@ -1243,20 +1243,17 @@ static int si2165_probe(struct i2c_client
> *client)
> chip_name, rev_char, state->chip_type,
> state->chip_revcode);
>
> - strlcat(state->fe.ops.info.name, chip_name,
> - sizeof(state->fe.ops.info.name));
> + snprintf(state->fe.ops.info.name, sizeof(state-
> >fe.ops.info.name),
> + "Silicon Labs %s%s%s",
> + chip_name,
> + state->has_dvbt ? " DVB-T" : "",
> + state->has_dvbc ? " DVB-C" : "");
>
> n = 0;
> - if (state->has_dvbt) {
> + if (state->has_dvbt)
> state->fe.ops.delsys[n++] = SYS_DVBT;
> - strlcat(state->fe.ops.info.name, " DVB-T",
> - sizeof(state->fe.ops.info.name));
> - }
> - if (state->has_dvbc) {
> + if (state->has_dvbc)
> state->fe.ops.delsys[n++] = SYS_DVBC_ANNEX_A;
> - strlcat(state->fe.ops.info.name, " DVB-C",
> - sizeof(state->fe.ops.info.name));
> - }
>
> /* return fe pointer */
> *pdata->fe = &state->fe;
> --
> 2.55.0.1032.g73a4cd73de-goog
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 23/28] Input: synaptics_usb - use seq_buf and snprintf() for name and phys
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (21 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 22/28] media: si2165: Use snprintf() to format frontend name Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr() Bill Wendling
` (6 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
synusb_probe() constructs the device name and physical path using a mix of
strscpy(), strlcat(), and snprintf().
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf to incrementally build synusb->name, and format synusb->phys with
snprintf() after generating the USB path.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Gemini:1.5-Pro-002 [editor_update_file, make_kernel_build_single_file, test_runner_run_kunit_test]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/input/mouse/synaptics_usb.c | 29 +++++++++++++++++------------
1 file changed, 17 insertions(+), 12 deletions(-)
diff --git a/drivers/input/mouse/synaptics_usb.c b/drivers/input/mouse/synaptics_usb.c
index 880a0c79148c..d13d2d6202ee 100644
--- a/drivers/input/mouse/synaptics_usb.c
+++ b/drivers/input/mouse/synaptics_usb.c
@@ -41,6 +41,7 @@
#include <linux/usb.h>
#include <linux/input.h>
#include <linux/usb/input.h>
+#include <linux/seq_buf.h>
#define USB_VENDOR_ID_SYNAPTICS 0x06cb
#define USB_DEVICE_ID_SYNAPTICS_TP 0x0001 /* Synaptics USB TouchPad */
@@ -278,6 +279,8 @@ static int synusb_probe(struct usb_interface *intf,
struct input_dev *input_dev;
unsigned int intf_num = intf->cur_altsetting->desc.bInterfaceNumber;
unsigned int altsetting = min(intf->num_altsetting, 1U);
+ struct seq_buf s;
+ char path[64];
int error;
error = usb_set_interface(udev, intf_num, altsetting);
@@ -334,27 +337,29 @@ static int synusb_probe(struct usb_interface *intf,
ep->bInterval);
synusb->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
+ seq_buf_init(&s, synusb->name, sizeof(synusb->name));
+
if (udev->manufacturer)
- strscpy(synusb->name, udev->manufacturer,
- sizeof(synusb->name));
+ seq_buf_puts(&s, udev->manufacturer);
if (udev->product) {
if (udev->manufacturer)
- strlcat(synusb->name, " ", sizeof(synusb->name));
- strlcat(synusb->name, udev->product, sizeof(synusb->name));
+ seq_buf_puts(&s, " ");
+ seq_buf_puts(&s, udev->product);
}
- if (!strlen(synusb->name))
- snprintf(synusb->name, sizeof(synusb->name),
- "USB Synaptics Device %04x:%04x",
- le16_to_cpu(udev->descriptor.idVendor),
- le16_to_cpu(udev->descriptor.idProduct));
+ if (!seq_buf_used(&s))
+ seq_buf_printf(&s, "USB Synaptics Device %04x:%04x",
+ le16_to_cpu(udev->descriptor.idVendor),
+ le16_to_cpu(udev->descriptor.idProduct));
if (synusb->flags & SYNUSB_STICK)
- strlcat(synusb->name, " (Stick)", sizeof(synusb->name));
+ seq_buf_puts(&s, " (Stick)");
- usb_make_path(udev, synusb->phys, sizeof(synusb->phys));
- strlcat(synusb->phys, "/input0", sizeof(synusb->phys));
+ seq_buf_str(&s);
+
+ usb_make_path(udev, path, sizeof(path));
+ snprintf(synusb->phys, sizeof(synusb->phys), "%s/input0", path);
input_dev->name = synusb->name;
input_dev->phys = synusb->phys;
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (22 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 23/28] Input: synaptics_usb - use seq_buf and snprintf() for name and phys Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-16 6:02 ` Loktionov, Aleksandr
2026-09-15 8:18 ` [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf Bill Wendling
` (5 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, Russell King, Huacai Chen, WANG Xuerui,
Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Ian Abbott, H Hartley Sweeten, Tony Luck,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
Dmitry Torokhov, Matthias Schwarzott, Mauro Carvalho Chehab,
Tony Nguyen, Przemek Kitszel, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Arend van Spriel,
Rob Herring, Saravana Kannan, Krzysztof Kozlowski,
Sylwester Nawrocki, Peter Griffin, Alim Akhtar, Linus Walleij,
Anil Gurumurthy, Sudarsana Kalluru, Martin K. Petersen,
Trond Myklebust, Anna Schumaker, Mike Marshall,
Martin Brandenburg, Kees Cook, Jiri Pirko, Simon Horman,
Chuck Lever, Jeff Layton, NeilBrown, Olga Kornievskaia, Dai Ngo,
Tom Talpey, Jaroslav Kysela, Takashi Iwai, Andrew Morton,
Mike Rapoport (Microsoft), Kanglong Wang, Tiezhu Yang, Qiang Ma,
Randy Dunlap, Pengpeng Hou, Ard Biesheuvel, Breno Leitao,
Thorsten Blum, Harshit Mogalapalli, Greg Kroah-Hartman,
Lyude Paul, Ashutosh Desai, Imre Deak, Dmitry Baryshkov,
Johan Hovold, Johannes Berg, Miri Korenblit, Alexander Stein,
Cryolitia PukNgae, Jiaming Zhang, Will Porter, Cen Zhang,
Cássio Gabriel, Rong Zhang, Arun Raghavan, linux-arm-kernel,
loongarch, linux-mips, linux-parisc, linux-edac, dri-devel,
intel-xe, linux-input, linux-media, intel-wired-lan, netdev,
linux-wireless, brcm80211, brcm80211-dev-list.pdl, devicetree,
linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs, devel,
linux-hardening, linux-sound
thunderx_l2c_threaded_isr() computes "tail" and "ctx" once before entering
the loop that drains the L2C error ring, and never updates them on
subsequent iterations. When multiple errors are queued, every iteration
reports the first ring entry rather than advancing through the ring,
causing subsequent hardware errors in a batch to go unreported.
Recompute "tail" and "ctx" at the start of each loop iteration, matching
the sibling thunderx_ocx_com_threaded_isr() and
thunderx_ocx_lnk_threaded_isr() handlers.
Fixes: 41003396f932 ("EDAC, thunderx: Add Cavium ThunderX EDAC driver")
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/edac/thunderx_edac.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/edac/thunderx_edac.c b/drivers/edac/thunderx_edac.c
index 9c0a1e48f96f..e7c335ca0c36 100644
--- a/drivers/edac/thunderx_edac.c
+++ b/drivers/edac/thunderx_edac.c
@@ -1880,6 +1880,9 @@ static irqreturn_t thunderx_l2c_threaded_isr(int irq, void *irq_id)
while (CIRC_CNT(l2c->ring_head, l2c->ring_tail,
ARRAY_SIZE(l2c->err_ctx))) {
+ tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c->err_ctx));
+ ctx = &l2c->err_ctx[tail];
+
snprintf(msg, L2C_MESSAGE_SIZE,
"%s: %s: %016llx, %s: %016llx",
l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int,
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* RE: [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr()
2026-09-15 8:18 ` [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr() Bill Wendling
@ 2026-09-16 6:02 ` Loktionov, Aleksandr
0 siblings, 0 replies; 46+ messages in thread
From: Loktionov, Aleksandr @ 2026-09-16 6:02 UTC (permalink / raw)
To: Bill Wendling, linux-kernel@vger.kernel.org
Cc: Russell King, Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86@kernel.org, H. Peter Anvin,
Ian Abbott, H Hartley Sweeten, Luck, Tony, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
Brost, Matthew, Thomas Hellström, Vivi, Rodrigo,
Dmitry Torokhov, Matthias Schwarzott, Mauro Carvalho Chehab,
Nguyen, Anthony L, Kitszel, Przemyslaw, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Arend van Spriel, Rob Herring, Saravana Kannan,
Krzysztof Kozlowski, Sylwester Nawrocki, Peter Griffin,
Alim Akhtar, Linus Walleij, Anil Gurumurthy, Sudarsana Kalluru,
Martin K. Petersen, Trond Myklebust, Anna Schumaker,
Mike Marshall, Martin Brandenburg, Kees Cook, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Deak, Imre,
Dmitry Baryshkov, Johan Hovold, Berg, Johannes,
Korenblit, Miriam Rachel, Alexander Stein, Cryolitia PukNgae,
Jiaming Zhang, Will Porter, Cen Zhang, Cássio Gabriel,
Rong Zhang, Arun Raghavan, linux-arm-kernel@lists.infradead.org,
loongarch@lists.linux.dev, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linux-edac@vger.kernel.org,
dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
linux-input@vger.kernel.org, linux-media@vger.kernel.org,
intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev,
brcm80211-dev-list.pdl@broadcom.com, devicetree@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org,
linux-scsi@vger.kernel.org, linux-nfs@vger.kernel.org,
devel@lists.orangefs.org, linux-hardening@vger.kernel.org,
linux-sound@vger.kernel.org
> -----Original Message-----
> From: Bill Wendling <morbo@google.com>
> Sent: Tuesday, September 15, 2026 10:19 AM
> To: linux-kernel@vger.kernel.org
> Cc: Bill Wendling <morbo@google.com>; Russell King
> <linux@armlinux.org.uk>; Huacai Chen <chenhuacai@kernel.org>; WANG
> Xuerui <kernel@xen0n.name>; Thomas Bogendoerfer
> <tsbogend@alpha.franken.de>; James E.J. Bottomley
> <James.Bottomley@HansenPartnership.com>; Helge Deller <deller@gmx.de>;
> Thomas Gleixner <tglx@kernel.org>; Ingo Molnar <mingo@redhat.com>;
> Borislav Petkov <bp@alien8.de>; Dave Hansen
> <dave.hansen@linux.intel.com>; x86@kernel.org; H. Peter Anvin
> <hpa@zytor.com>; Ian Abbott <abbotti@mev.co.uk>; H Hartley Sweeten
> <hsweeten@visionengravers.com>; Luck, Tony <tony.luck@intel.com>;
> Maarten Lankhorst <maarten.lankhorst@linux.intel.com>; Maxime Ripard
> <mripard@kernel.org>; Thomas Zimmermann <tzimmermann@suse.de>; David
> Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Brost,
> Matthew <matthew.brost@intel.com>; Thomas Hellström
> <thomas.hellstrom@linux.intel.com>; Vivi, Rodrigo
> <rodrigo.vivi@intel.com>; Dmitry Torokhov <dmitry.torokhov@gmail.com>;
> Matthias Schwarzott <zzam@gentoo.org>; Mauro Carvalho Chehab
> <mchehab@kernel.org>; Nguyen, Anthony L <anthony.l.nguyen@intel.com>;
> Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn
> <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric
> Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo
> Abeni <pabeni@redhat.com>; Arend van Spriel
> <arend.vanspriel@broadcom.com>; Rob Herring <robh@kernel.org>;
> Saravana Kannan <saravanak@kernel.org>; Krzysztof Kozlowski
> <krzk@kernel.org>; Sylwester Nawrocki <s.nawrocki@samsung.com>; Peter
> Griffin <peter.griffin@linaro.org>; Alim Akhtar
> <alim.akhtar@samsung.com>; Linus Walleij <linusw@kernel.org>; Anil
> Gurumurthy <anil.gurumurthy@qlogic.com>; Sudarsana Kalluru
> <sudarsana.kalluru@qlogic.com>; Martin K. Petersen <mkp@kernel.org>;
> Trond Myklebust <trondmy@kernel.org>; Anna Schumaker
> <anna@kernel.org>; Mike Marshall <hubcap@omnibond.com>; Martin
> Brandenburg <martin@omnibond.com>; Kees Cook <kees@kernel.org>; Jiri
> Pirko <jiri@resnulli.us>; Simon Horman <horms@kernel.org>; Chuck Lever
> <cel@kernel.org>; Jeff Layton <jlayton@kernel.org>; NeilBrown
> <neil@brown.name>; Olga Kornievskaia <okorniev@redhat.com>; Dai Ngo
> <Dai.Ngo@oracle.com>; Tom Talpey <tom@talpey.com>; Jaroslav Kysela
> <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>; Andrew Morton
> <akpm@linux-foundation.org>; Mike Rapoport (Microsoft)
> <rppt@kernel.org>; Kanglong Wang <wangkanglong@loongson.cn>; Tiezhu
> Yang <yangtiezhu@loongson.cn>; Qiang Ma <maqianga@uniontech.com>;
> Randy Dunlap <rdunlap@infradead.org>; Pengpeng Hou
> <pengpeng@iscas.ac.cn>; Ard Biesheuvel <ardb@kernel.org>; Breno Leitao
> <leitao@debian.org>; Thorsten Blum <blum@kernel.org>; Harshit
> Mogalapalli <harshit.m.mogalapalli@oracle.com>; Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>; Lyude Paul <lyude@redhat.com>; Ashutosh
> Desai <ashutoshdesai993@gmail.com>; Deak, Imre <imre.deak@intel.com>;
> Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>; Johan Hovold
> <johan@kernel.org>; Berg, Johannes <johannes.berg@intel.com>;
> Korenblit, Miriam Rachel <miriam.rachel.korenblit@intel.com>;
> Alexander Stein <alexander.stein@ew.tq-group.com>; Cryolitia PukNgae
> <cryolitia@uniontech.com>; Jiaming Zhang <r772577952@gmail.com>; Will
> Porter <mrwillporter@gmail.com>; Cen Zhang <zzzccc427@gmail.com>;
> Cássio Gabriel <cassiogabrielcontato@gmail.com>; Rong Zhang
> <i@rong.moe>; Arun Raghavan <arunr@valvesoftware.com>; linux-arm-
> kernel@lists.infradead.org; loongarch@lists.linux.dev; linux-
> mips@vger.kernel.org; linux-parisc@vger.kernel.org; linux-
> edac@vger.kernel.org; dri-devel@lists.freedesktop.org; intel-
> xe@lists.freedesktop.org; linux-input@vger.kernel.org; linux-
> media@vger.kernel.org; intel-wired-lan@lists.osuosl.org;
> netdev@vger.kernel.org; linux-wireless@vger.kernel.org;
> brcm80211@lists.linux.dev; brcm80211-dev-list.pdl@broadcom.com;
> devicetree@vger.kernel.org; linux-samsung-soc@vger.kernel.org; linux-
> gpio@vger.kernel.org; linux-scsi@vger.kernel.org; linux-
> nfs@vger.kernel.org; devel@lists.orangefs.org; linux-
> hardening@vger.kernel.org; linux-sound@vger.kernel.org
> Subject: [PATCH 24/28] EDAC/thunderx: Fix stale error context in
> thunderx_l2c_threaded_isr()
>
> thunderx_l2c_threaded_isr() computes "tail" and "ctx" once before
> entering the loop that drains the L2C error ring, and never updates
> them on subsequent iterations. When multiple errors are queued, every
> iteration reports the first ring entry rather than advancing through
> the ring, causing subsequent hardware errors in a batch to go
> unreported.
>
> Recompute "tail" and "ctx" at the start of each loop iteration,
> matching the sibling thunderx_ocx_com_threaded_isr() and
> thunderx_ocx_lnk_threaded_isr() handlers.
>
> Fixes: 41003396f932 ("EDAC, thunderx: Add Cavium ThunderX EDAC
> driver")
> Signed-off-by: Bill Wendling <morbo@google.com>
> ---
> Cc: Russell King <linux@armlinux.org.uk>
> Cc: Huacai Chen <chenhuacai@kernel.org>
> Cc: WANG Xuerui <kernel@xen0n.name>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Thomas Gleixner <tglx@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: x86@kernel.org
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: Ian Abbott <abbotti@mev.co.uk>
> Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Matthias Schwarzott <zzam@gentoo.org>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
> Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Cc: Andrew Lunn <andrew+netdev@lunn.ch>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Saravana Kannan <saravanak@kernel.org>
> Cc: Krzysztof Kozlowski <krzk@kernel.org>
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Cc: Peter Griffin <peter.griffin@linaro.org>
> Cc: Alim Akhtar <alim.akhtar@samsung.com>
> Cc: Linus Walleij <linusw@kernel.org>
> Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
> Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
> Cc: "Martin K. Petersen" <mkp@kernel.org>
> Cc: Trond Myklebust <trondmy@kernel.org>
> Cc: Anna Schumaker <anna@kernel.org>
> Cc: Mike Marshall <hubcap@omnibond.com>
> Cc: Martin Brandenburg <martin@omnibond.com>
> Cc: Kees Cook <kees@kernel.org>
> Cc: Jiri Pirko <jiri@resnulli.us>
> Cc: Simon Horman <horms@kernel.org>
> Cc: Chuck Lever <cel@kernel.org>
> Cc: Jeff Layton <jlayton@kernel.org>
> Cc: NeilBrown <neil@brown.name>
> Cc: Olga Kornievskaia <okorniev@redhat.com>
> Cc: Dai Ngo <Dai.Ngo@oracle.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.com>
> Cc: Bill Wendling <morbo@google.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> Cc: Kanglong Wang <wangkanglong@loongson.cn>
> Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
> Cc: Qiang Ma <maqianga@uniontech.com>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Breno Leitao <leitao@debian.org>
> Cc: Thorsten Blum <blum@kernel.org>
> Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Lyude Paul <lyude@redhat.com>
> Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Cc: Johan Hovold <johan@kernel.org>
> Cc: Johannes Berg <johannes.berg@intel.com>
> Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
> Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
> Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
> Cc: Jiaming Zhang <r772577952@gmail.com>
> Cc: Will Porter <mrwillporter@gmail.com>
> Cc: Cen Zhang <zzzccc427@gmail.com>
> Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
> Cc: Rong Zhang <i@rong.moe>
> Cc: Arun Raghavan <arunr@valvesoftware.com>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: loongarch@lists.linux.dev
> Cc: linux-mips@vger.kernel.org
> Cc: linux-parisc@vger.kernel.org
> Cc: linux-edac@vger.kernel.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: intel-xe@lists.freedesktop.org
> Cc: linux-input@vger.kernel.org
> Cc: linux-media@vger.kernel.org
> Cc: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org
> Cc: linux-wireless@vger.kernel.org
> Cc: brcm80211@lists.linux.dev
> Cc: brcm80211-dev-list.pdl@broadcom.com
> Cc: devicetree@vger.kernel.org
> Cc: linux-samsung-soc@vger.kernel.org
> Cc: linux-gpio@vger.kernel.org
> Cc: linux-scsi@vger.kernel.org
> Cc: linux-nfs@vger.kernel.org
> Cc: devel@lists.orangefs.org
> Cc: linux-hardening@vger.kernel.org
> Cc: linux-sound@vger.kernel.org
> ---
> drivers/edac/thunderx_edac.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/edac/thunderx_edac.c
> b/drivers/edac/thunderx_edac.c index 9c0a1e48f96f..e7c335ca0c36 100644
> --- a/drivers/edac/thunderx_edac.c
> +++ b/drivers/edac/thunderx_edac.c
> @@ -1880,6 +1880,9 @@ static irqreturn_t thunderx_l2c_threaded_isr(int
> irq, void *irq_id)
>
> while (CIRC_CNT(l2c->ring_head, l2c->ring_tail,
> ARRAY_SIZE(l2c->err_ctx))) {
> + tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c-
> >err_ctx));
> + ctx = &l2c->err_ctx[tail];
> +
> snprintf(msg, L2C_MESSAGE_SIZE,
> "%s: %s: %016llx, %s: %016llx",
> l2c->edac_dev->ctl_name, reg_int_name, ctx-
> >reg_int,
> --
> 2.55.0.1032.g73a4cd73de-goog
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (23 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 24/28] EDAC/thunderx: Fix stale error context in thunderx_l2c_threaded_isr() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 20:00 ` Kees Cook
2026-09-15 8:18 ` [PATCH 26/28] wifi: wil6210: Refactor resume_triggers2string() to use seq_buf Bill Wendling
` (4 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
The threaded ISR handlers (thunderx_ocx_com_threaded_isr(),
thunderx_ocx_lnk_threaded_isr(), and thunderx_l2c_threaded_isr()) build
multi-line error reports by formatting register details into a scratch
buffer and appending them to "msg" with strlcat().
In preparation for removing the deprecated strlcat() API[1], refactor the
ISR handlers to construct error messages using struct seq_buf.
Additionally, fix two bugs in decode_register(): initialize "str[0] = '\0'"
so callers do not append stale buffer contents when no error bits match,
and stop iterating if snprintf() truncates the buffer to avoid
underflowing the remaining "size" counter.
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: AI:Claude-3-5-Sonnet [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/edac/thunderx_edac.c | 64 ++++++++++++++++++++++--------------
1 file changed, 39 insertions(+), 25 deletions(-)
diff --git a/drivers/edac/thunderx_edac.c b/drivers/edac/thunderx_edac.c
index e7c335ca0c36..4e3781815b6d 100644
--- a/drivers/edac/thunderx_edac.c
+++ b/drivers/edac/thunderx_edac.c
@@ -20,6 +20,7 @@
#include <linux/atomic.h>
#include <linux/bitfield.h>
#include <linux/circ_buf.h>
+#include <linux/seq_buf.h>
#include <asm/page.h>
@@ -47,12 +48,17 @@ static void decode_register(char *str, size_t size,
{
int ret = 0;
+ if (size > 0)
+ str[0] = '\0';
+
while (descr->type && descr->mask && descr->descr) {
if (reg & descr->mask) {
ret = snprintf(str, size, "\n\t%s, %s",
descr->type == ERR_CORRECTED ?
"Corrected" : "Uncorrected",
descr->descr);
+ if (ret < 0 || ret >= size)
+ break;
str += ret;
size -= ret;
}
@@ -1115,35 +1121,37 @@ static irqreturn_t thunderx_ocx_com_threaded_isr(int irq, void *irq_id)
while (CIRC_CNT(ocx->com_ring_head, ocx->com_ring_tail,
ARRAY_SIZE(ocx->com_err_ctx))) {
+ struct seq_buf s;
+
tail = ring_pos(ocx->com_ring_tail,
ARRAY_SIZE(ocx->com_err_ctx));
ctx = &ocx->com_err_ctx[tail];
- snprintf(msg, OCX_MESSAGE_SIZE, "%s: OCX_COM_INT: %016llx",
- ocx->edac_dev->ctl_name, ctx->reg_com_int);
+ seq_buf_init(&s, msg, OCX_MESSAGE_SIZE);
+
+ seq_buf_printf(&s, "%s: OCX_COM_INT: %016llx",
+ ocx->edac_dev->ctl_name, ctx->reg_com_int);
decode_register(other, OCX_OTHER_SIZE,
ocx_com_errors, ctx->reg_com_int);
- strlcat(msg, other, OCX_MESSAGE_SIZE);
+ seq_buf_puts(&s, other);
for (lane = 0; lane < OCX_RX_LANES; lane++)
if (ctx->reg_com_int & BIT(lane)) {
- snprintf(other, OCX_OTHER_SIZE,
- "\n\tOCX_LNE_INT[%02d]: %016llx OCX_LNE_STAT11[%02d]: %016llx",
- lane, ctx->reg_lane_int[lane],
- lane, ctx->reg_lane_stat11[lane]);
-
- strlcat(msg, other, OCX_MESSAGE_SIZE);
+ seq_buf_printf(&s,
+ "\n\tOCX_LNE_INT[%02d]: %016llx OCX_LNE_STAT11[%02d]: %016llx",
+ lane, ctx->reg_lane_int[lane],
+ lane, ctx->reg_lane_stat11[lane]);
decode_register(other, OCX_OTHER_SIZE,
ocx_lane_errors,
ctx->reg_lane_int[lane]);
- strlcat(msg, other, OCX_MESSAGE_SIZE);
+ seq_buf_puts(&s, other);
}
if (ctx->reg_com_int & OCX_COM_INT_CE)
- edac_device_handle_ce(ocx->edac_dev, 0, 0, msg);
+ edac_device_handle_ce(ocx->edac_dev, 0, 0, seq_buf_str(&s));
ocx->com_ring_tail++;
}
@@ -1196,25 +1204,28 @@ static irqreturn_t thunderx_ocx_lnk_threaded_isr(int irq, void *irq_id)
while (CIRC_CNT(ocx->link_ring_head, ocx->link_ring_tail,
ARRAY_SIZE(ocx->link_err_ctx))) {
+ struct seq_buf s;
+
tail = ring_pos(ocx->link_ring_head,
ARRAY_SIZE(ocx->link_err_ctx));
ctx = &ocx->link_err_ctx[tail];
- snprintf(msg, OCX_MESSAGE_SIZE,
- "%s: OCX_COM_LINK_INT[%d]: %016llx",
- ocx->edac_dev->ctl_name,
- ctx->link, ctx->reg_com_link_int);
+ seq_buf_init(&s, msg, OCX_MESSAGE_SIZE);
+
+ seq_buf_printf(&s, "%s: OCX_COM_LINK_INT[%d]: %016llx",
+ ocx->edac_dev->ctl_name,
+ ctx->link, ctx->reg_com_link_int);
decode_register(other, OCX_OTHER_SIZE,
ocx_com_link_errors, ctx->reg_com_link_int);
- strlcat(msg, other, OCX_MESSAGE_SIZE);
+ seq_buf_puts(&s, other);
if (ctx->reg_com_link_int & OCX_COM_LINK_INT_UE)
- edac_device_handle_ue(ocx->edac_dev, 0, 0, msg);
+ edac_device_handle_ue(ocx->edac_dev, 0, 0, seq_buf_str(&s));
else if (ctx->reg_com_link_int & OCX_COM_LINK_INT_CE)
- edac_device_handle_ce(ocx->edac_dev, 0, 0, msg);
+ edac_device_handle_ce(ocx->edac_dev, 0, 0, seq_buf_str(&s));
ocx->link_ring_tail++;
}
@@ -1880,22 +1891,25 @@ static irqreturn_t thunderx_l2c_threaded_isr(int irq, void *irq_id)
while (CIRC_CNT(l2c->ring_head, l2c->ring_tail,
ARRAY_SIZE(l2c->err_ctx))) {
+ struct seq_buf s;
+
tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c->err_ctx));
ctx = &l2c->err_ctx[tail];
- snprintf(msg, L2C_MESSAGE_SIZE,
- "%s: %s: %016llx, %s: %016llx",
- l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int,
- ctx->reg_ext_name, ctx->reg_ext);
+ seq_buf_init(&s, msg, L2C_MESSAGE_SIZE);
+
+ seq_buf_printf(&s, "%s: %s: %016llx, %s: %016llx",
+ l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int,
+ ctx->reg_ext_name, ctx->reg_ext);
decode_register(other, L2C_OTHER_SIZE, l2_errors, ctx->reg_int);
- strlcat(msg, other, L2C_MESSAGE_SIZE);
+ seq_buf_puts(&s, other);
if (ctx->reg_int & mask_ue)
- edac_device_handle_ue(l2c->edac_dev, 0, 0, msg);
+ edac_device_handle_ue(l2c->edac_dev, 0, 0, seq_buf_str(&s));
else if (ctx->reg_int & mask_ce)
- edac_device_handle_ce(l2c->edac_dev, 0, 0, msg);
+ edac_device_handle_ce(l2c->edac_dev, 0, 0, seq_buf_str(&s));
l2c->ring_tail++;
}
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf
2026-09-15 8:18 ` [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf Bill Wendling
@ 2026-09-15 20:00 ` Kees Cook
2026-09-16 1:09 ` Borislav Petkov
0 siblings, 1 reply; 46+ messages in thread
From: Kees Cook @ 2026-09-15 20:00 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:42AM +0000, Bill Wendling wrote:
> index e7c335ca0c36..4e3781815b6d 100644
> --- a/drivers/edac/thunderx_edac.c
> +++ b/drivers/edac/thunderx_edac.c
> @@ -20,6 +20,7 @@
> #include <linux/atomic.h>
> #include <linux/bitfield.h>
> #include <linux/circ_buf.h>
> +#include <linux/seq_buf.h>
>
> #include <asm/page.h>
>
> @@ -47,12 +48,17 @@ static void decode_register(char *str, size_t size,
> {
> int ret = 0;
>
> + if (size > 0)
> + str[0] = '\0';
> +
> while (descr->type && descr->mask && descr->descr) {
> if (reg & descr->mask) {
> ret = snprintf(str, size, "\n\t%s, %s",
> descr->type == ERR_CORRECTED ?
> "Corrected" : "Uncorrected",
> descr->descr);
> + if (ret < 0 || ret >= size)
> + break;
> str += ret;
> size -= ret;
> }
Seems like seq_buf would be better her? But yes, at the very least, this
needs to be scnprintf, not snprintf (or add the checks as you have
here).
The rest of the seq_buf conversions look right.
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf
2026-09-15 20:00 ` Kees Cook
@ 2026-09-16 1:09 ` Borislav Petkov
0 siblings, 0 replies; 46+ messages in thread
From: Borislav Petkov @ 2026-09-16 1:09 UTC (permalink / raw)
To: Kees Cook
Cc: Bill Wendling, linux-kernel, codemender-patching+linux,
Russell King, Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Dave Hansen, x86, H. Peter Anvin, Ian Abbott, H Hartley Sweeten,
Tony Luck, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Matthew Brost, Thomas Hellström,
Rodrigo Vivi, Dmitry Torokhov, Matthias Schwarzott,
Mauro Carvalho Chehab, Tony Nguyen, Przemek Kitszel, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Arend van Spriel, Rob Herring, Saravana Kannan,
Krzysztof Kozlowski, Sylwester Nawrocki, Peter Griffin,
Alim Akhtar, Linus Walleij, Anil Gurumurthy, Sudarsana Kalluru,
Martin K. Petersen, Trond Myklebust, Anna Schumaker,
Mike Marshall, Martin Brandenburg, Jiri Pirko, Simon Horman,
Chuck Lever, Jeff Layton, NeilBrown, Olga Kornievskaia, Dai Ngo,
Tom Talpey, Jaroslav Kysela, Takashi Iwai, Andrew Morton,
Mike Rapoport (Microsoft), Kanglong Wang, Tiezhu Yang, Qiang Ma,
Randy Dunlap, Pengpeng Hou, Ard Biesheuvel, Breno Leitao,
Thorsten Blum, Harshit Mogalapalli, Greg Kroah-Hartman,
Lyude Paul, Ashutosh Desai, Imre Deak, Dmitry Baryshkov,
Johan Hovold, Johannes Berg, Miri Korenblit, Alexander Stein,
Cryolitia PukNgae, Jiaming Zhang, Will Porter, Cen Zhang,
Cássio Gabriel, Rong Zhang, Arun Raghavan, linux-arm-kernel,
loongarch, linux-mips, linux-parisc, linux-edac, dri-devel,
intel-xe, linux-input, linux-media, intel-wired-lan, netdev,
linux-wireless, brcm80211, brcm80211-dev-list.pdl, devicetree,
linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs, devel,
linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 01:00:00PM -0700, Kees Cook wrote:
> Seems like seq_buf would be better her? But yes, at the very least, this
> needs to be scnprintf, not snprintf (or add the checks as you have
> here).
>
> The rest of the seq_buf conversions look right.
This driver has been an orphan for a while now (we just made it official) so
I'd prefer it if we don't do anything here.
And yes, that mega CC list is just gross.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 26/28] wifi: wil6210: Refactor resume_triggers2string() to use seq_buf
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (24 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 25/28] EDAC/thunderx: Replace strlcat() with seq_buf Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 8:18 ` [PATCH 27/28] drm/xe/pf: Convert strlcat() to seq_buf in control_read() Bill Wendling
` (3 subsequent siblings)
29 siblings, 0 replies; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
resume_triggers2string() builds a space-separated string of active resume
trigger names using a series of conditional strlcat() calls.
In preparation for removing the deprecated strlcat() API[1], replace the
strlcat() calls with struct seq_buf and seq_buf_puts().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoPilot:1.0 [editor_update_file, make_kernel_build_single_file]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/net/wireless/ath/wil6210/wmi.c | 38 ++++++++++++++------------
1 file changed, 21 insertions(+), 17 deletions(-)
diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c
index 479b2418ca34..fcc9e9eb5732 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.c
+++ b/drivers/net/wireless/ath/wil6210/wmi.c
@@ -7,6 +7,7 @@
#include <linux/moduleparam.h>
#include <linux/etherdevice.h>
#include <linux/if_arp.h>
+#include <linux/seq_buf.h>
#include "wil6210.h"
#include "txrx.h"
@@ -3162,27 +3163,30 @@ int wmi_suspend(struct wil6210_priv *wil)
static void resume_triggers2string(u32 triggers, char *string, int str_size)
{
- string[0] = '\0';
+ struct seq_buf s;
+
+ seq_buf_init(&s, string, str_size);
if (!triggers) {
- strlcat(string, " UNKNOWN", str_size);
- return;
+ seq_buf_puts(&s, " UNKNOWN");
+ } else {
+ if (triggers & WMI_RESUME_TRIGGER_HOST)
+ seq_buf_puts(&s, " HOST");
+
+ if (triggers & WMI_RESUME_TRIGGER_UCAST_RX)
+ seq_buf_puts(&s, " UCAST_RX");
+
+ if (triggers & WMI_RESUME_TRIGGER_BCAST_RX)
+ seq_buf_puts(&s, " BCAST_RX");
+
+ if (triggers & WMI_RESUME_TRIGGER_WMI_EVT)
+ seq_buf_puts(&s, " WMI_EVT");
+
+ if (triggers & WMI_RESUME_TRIGGER_DISCONNECT)
+ seq_buf_puts(&s, " DISCONNECT");
}
- if (triggers & WMI_RESUME_TRIGGER_HOST)
- strlcat(string, " HOST", str_size);
-
- if (triggers & WMI_RESUME_TRIGGER_UCAST_RX)
- strlcat(string, " UCAST_RX", str_size);
-
- if (triggers & WMI_RESUME_TRIGGER_BCAST_RX)
- strlcat(string, " BCAST_RX", str_size);
-
- if (triggers & WMI_RESUME_TRIGGER_WMI_EVT)
- strlcat(string, " WMI_EVT", str_size);
-
- if (triggers & WMI_RESUME_TRIGGER_DISCONNECT)
- strlcat(string, " DISCONNECT", str_size);
+ seq_buf_str(&s);
}
int wmi_resume(struct wil6210_priv *wil)
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH 27/28] drm/xe/pf: Convert strlcat() to seq_buf in control_read()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (25 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 26/28] wifi: wil6210: Refactor resume_triggers2string() to use seq_buf Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 18:25 ` Kees Cook
2026-09-15 8:18 ` [PATCH 28/28] drm/xe/pf: Refactor strlcat() to seq_buf in sched_group_engines_read() Bill Wendling
` (2 subsequent siblings)
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
control_read() builds a list of supported SR-IOV VF control commands in a
stack buffer by calling strlcat() twice per command in a loop.
In preparation for removing the deprecated strlcat() API[1], use struct
seq_buf and seq_buf_printf() to format each command line and pass
seq_buf_used() directly to simple_read_from_buffer().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: CoT-Agent:Gemini-2.0-Flash [editor_update_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
index 0f242db775e1..5db7fc067c4d 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
@@ -4,6 +4,7 @@
*/
#include <linux/debugfs.h>
+#include <linux/seq_buf.h>
#include <drm/drm_print.h>
#include <drm/drm_debugfs.h>
@@ -663,15 +664,15 @@ static ssize_t control_write(struct file *file, const char __user *buf, size_t c
static ssize_t control_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{
char help[128];
+ struct seq_buf s;
size_t n;
- help[0] = '\0';
+ seq_buf_init(&s, help, sizeof(help));
for (n = 0; n < ARRAY_SIZE(control_cmds); n++) {
- strlcat(help, control_cmds[n].cmd, sizeof(help));
- strlcat(help, "\n", sizeof(help));
+ seq_buf_printf(&s, "%s\n", control_cmds[n].cmd);
}
- return simple_read_from_buffer(buf, count, ppos, help, strlen(help));
+ return simple_read_from_buffer(buf, count, ppos, help, seq_buf_used(&s));
}
static const struct file_operations control_ops = {
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 27/28] drm/xe/pf: Convert strlcat() to seq_buf in control_read()
2026-09-15 8:18 ` [PATCH 27/28] drm/xe/pf: Convert strlcat() to seq_buf in control_read() Bill Wendling
@ 2026-09-15 18:25 ` Kees Cook
0 siblings, 0 replies; 46+ messages in thread
From: Kees Cook @ 2026-09-15 18:25 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:44AM +0000, Bill Wendling wrote:
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> index 0f242db775e1..5db7fc067c4d 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> @@ -4,6 +4,7 @@
> */
>
> #include <linux/debugfs.h>
> +#include <linux/seq_buf.h>
>
> #include <drm/drm_print.h>
> #include <drm/drm_debugfs.h>
> @@ -663,15 +664,15 @@ static ssize_t control_write(struct file *file, const char __user *buf, size_t c
> static ssize_t control_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
> {
> char help[128];
> + struct seq_buf s;
> size_t n;
>
> - help[0] = '\0';
> + seq_buf_init(&s, help, sizeof(help));
> for (n = 0; n < ARRAY_SIZE(control_cmds); n++) {
> - strlcat(help, control_cmds[n].cmd, sizeof(help));
> - strlcat(help, "\n", sizeof(help));
> + seq_buf_printf(&s, "%s\n", control_cmds[n].cmd);
> }
Yay seq_buf! I would tweak the 3 init stack variable lines into just
using the single DECLARE_SEQ_BUF:
DECLARE_SEQ_BUF(s, 128);
>
> - return simple_read_from_buffer(buf, count, ppos, help, strlen(help));
> + return simple_read_from_buffer(buf, count, ppos, help, seq_buf_used(&s));
seq_buf_used() isn't correct in the case of full-buffer use. e.g. if
the help buffer ends up filled with 127 chars and a NUL terminator,
seq_buf_used() returns 128, but you want 127 here. Using strlen() ends up
being redundant, though. I think we need to add seq_buf_strlen() which
handles the same logic that seq_buf_str() does.
-Kees
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH 28/28] drm/xe/pf: Refactor strlcat() to seq_buf in sched_group_engines_read()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (26 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 27/28] drm/xe/pf: Convert strlcat() to seq_buf in control_read() Bill Wendling
@ 2026-09-15 8:18 ` Bill Wendling
2026-09-15 18:30 ` Kees Cook
2026-09-15 11:24 ` [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Takashi Iwai
2026-09-15 18:05 ` Kees Cook
29 siblings, 1 reply; 46+ messages in thread
From: Bill Wendling @ 2026-09-15 8:18 UTC (permalink / raw)
To: linux-kernel
Cc: Bill Wendling, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Kees Cook,
Jiri Pirko, Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
Similar to control_read(), sched_group_engines_read() constructs a
space-separated list of hardware engine names in a stack buffer using
repeated strlcat() calls inside a loop.
In preparation for removing the deprecated strlcat() API[1], refactor
sched_group_engines_read() to use struct seq_buf and seq_buf_printf().
Link: https://github.com/KSPP/linux/issues/370 [1]
Cc: codemender-patching+linux@google.com
Assisted-by: Developer:Gemini [editor_update_file, make_kernel_build_single_file, shell_command_run]
Signed-off-by: Bill Wendling <morbo@google.com>
---
Cc: Russell King <linux@armlinux.org.uk>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: "James E.J. Bottomley" <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Cc: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Matthias Schwarzott <zzam@gentoo.org>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>
Cc: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Cc: Andrew Lunn <andrew+netdev@lunn.ch>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Arend van Spriel <arend.vanspriel@broadcom.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Saravana Kannan <saravanak@kernel.org>
Cc: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Peter Griffin <peter.griffin@linaro.org>
Cc: Alim Akhtar <alim.akhtar@samsung.com>
Cc: Linus Walleij <linusw@kernel.org>
Cc: Anil Gurumurthy <anil.gurumurthy@qlogic.com>
Cc: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
Cc: "Martin K. Petersen" <mkp@kernel.org>
Cc: Trond Myklebust <trondmy@kernel.org>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Mike Marshall <hubcap@omnibond.com>
Cc: Martin Brandenburg <martin@omnibond.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: Simon Horman <horms@kernel.org>
Cc: Chuck Lever <cel@kernel.org>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: NeilBrown <neil@brown.name>
Cc: Olga Kornievskaia <okorniev@redhat.com>
Cc: Dai Ngo <Dai.Ngo@oracle.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Bill Wendling <morbo@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Kanglong Wang <wangkanglong@loongson.cn>
Cc: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Qiang Ma <maqianga@uniontech.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Pengpeng Hou <pengpeng@iscas.ac.cn>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Breno Leitao <leitao@debian.org>
Cc: Thorsten Blum <blum@kernel.org>
Cc: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Ashutosh Desai <ashutoshdesai993@gmail.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Johan Hovold <johan@kernel.org>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Cryolitia PukNgae <cryolitia@uniontech.com>
Cc: Jiaming Zhang <r772577952@gmail.com>
Cc: Will Porter <mrwillporter@gmail.com>
Cc: Cen Zhang <zzzccc427@gmail.com>
Cc: "Cássio Gabriel" <cassiogabrielcontato@gmail.com>
Cc: Rong Zhang <i@rong.moe>
Cc: Arun Raghavan <arunr@valvesoftware.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: loongarch@lists.linux.dev
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linux-edac@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: intel-xe@lists.freedesktop.org
Cc: linux-input@vger.kernel.org
Cc: linux-media@vger.kernel.org
Cc: intel-wired-lan@lists.osuosl.org
Cc: netdev@vger.kernel.org
Cc: linux-wireless@vger.kernel.org
Cc: brcm80211@lists.linux.dev
Cc: brcm80211-dev-list.pdl@broadcom.com
Cc: devicetree@vger.kernel.org
Cc: linux-samsung-soc@vger.kernel.org
Cc: linux-gpio@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-nfs@vger.kernel.org
Cc: devel@lists.orangefs.org
Cc: linux-hardening@vger.kernel.org
Cc: linux-sound@vger.kernel.org
---
drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
index 5db7fc067c4d..548a50f74422 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
@@ -377,8 +377,10 @@ static ssize_t sched_group_engines_read(struct file *file, char __user *buf,
struct xe_hw_engine *hwe;
enum xe_hw_engine_id id;
char engines[128];
+ struct seq_buf s;
+ const char *s_str;
- engines[0] = '\0';
+ seq_buf_init(&s, engines, sizeof(engines));
if (group < num_groups) {
for_each_hw_engine(hwe, gt, id) {
@@ -386,15 +388,14 @@ static ssize_t sched_group_engines_read(struct file *file, char __user *buf,
u16 guc_logical_instance = xe_hwe_guc_logical_instance(hwe);
u32 mask = groups[group].engines[guc_class];
- if (mask & BIT(guc_logical_instance)) {
- strlcat(engines, hwe->name, sizeof(engines));
- strlcat(engines, " ", sizeof(engines));
- }
+ if (mask & BIT(guc_logical_instance))
+ seq_buf_printf(&s, "%s ", hwe->name);
}
- strlcat(engines, "\n", sizeof(engines));
+ seq_buf_puts(&s, "\n");
}
- return simple_read_from_buffer(buf, count, ppos, engines, strlen(engines));
+ s_str = seq_buf_str(&s);
+ return simple_read_from_buffer(buf, count, ppos, s_str, strlen(s_str));
}
static const struct file_operations sched_group_engines_fops = {
--
2.55.0.1032.g73a4cd73de-goog
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH 28/28] drm/xe/pf: Refactor strlcat() to seq_buf in sched_group_engines_read()
2026-09-15 8:18 ` [PATCH 28/28] drm/xe/pf: Refactor strlcat() to seq_buf in sched_group_engines_read() Bill Wendling
@ 2026-09-15 18:30 ` Kees Cook
0 siblings, 0 replies; 46+ messages in thread
From: Kees Cook @ 2026-09-15 18:30 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, codemender-patching+linux, Russell King,
Huacai Chen, WANG Xuerui, Thomas Bogendoerfer,
James E.J. Bottomley, Helge Deller, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Ian Abbott,
H Hartley Sweeten, Tony Luck, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Matthew Brost,
Thomas Hellström, Rodrigo Vivi, Dmitry Torokhov,
Matthias Schwarzott, Mauro Carvalho Chehab, Tony Nguyen,
Przemek Kitszel, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Arend van Spriel, Rob Herring,
Saravana Kannan, Krzysztof Kozlowski, Sylwester Nawrocki,
Peter Griffin, Alim Akhtar, Linus Walleij, Anil Gurumurthy,
Sudarsana Kalluru, Martin K. Petersen, Trond Myklebust,
Anna Schumaker, Mike Marshall, Martin Brandenburg, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, Cássio Gabriel, Rong Zhang, Arun Raghavan,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:45AM +0000, Bill Wendling wrote:
> diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
This is the same file touched as
https://lore.kernel.org/all/20260915081910.4142719-28-morbo@google.com/
and doing the same thing, roughly? I think it'd be best to combine
these, especially since one depends on the other's addition of seq_buf.h
> index 5db7fc067c4d..548a50f74422 100644
> --- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
> @@ -377,8 +377,10 @@ static ssize_t sched_group_engines_read(struct file *file, char __user *buf,
> struct xe_hw_engine *hwe;
> enum xe_hw_engine_id id;
> char engines[128];
> + struct seq_buf s;
> + const char *s_str;
>
> - engines[0] = '\0';
> + seq_buf_init(&s, engines, sizeof(engines));
As with the others, DECLARE_SEQ_BUF should be used.
> if (group < num_groups) {
> for_each_hw_engine(hwe, gt, id) {
> @@ -386,15 +388,14 @@ static ssize_t sched_group_engines_read(struct file *file, char __user *buf,
> u16 guc_logical_instance = xe_hwe_guc_logical_instance(hwe);
> u32 mask = groups[group].engines[guc_class];
>
> - if (mask & BIT(guc_logical_instance)) {
> - strlcat(engines, hwe->name, sizeof(engines));
> - strlcat(engines, " ", sizeof(engines));
> - }
> + if (mask & BIT(guc_logical_instance))
> + seq_buf_printf(&s, "%s ", hwe->name);
> }
> - strlcat(engines, "\n", sizeof(engines));
> + seq_buf_puts(&s, "\n");
> }
>
> - return simple_read_from_buffer(buf, count, ppos, engines, strlen(engines));
> + s_str = seq_buf_str(&s);
> + return simple_read_from_buffer(buf, count, ppos, s_str, strlen(s_str));
While this is the correct length, it does illustrate why I think we need
a new seq_buf helper to get the strlen result detected from NUL
termination like seq_buf_str().
-Kees
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (27 preceding siblings ...)
2026-09-15 8:18 ` [PATCH 28/28] drm/xe/pf: Refactor strlcat() to seq_buf in sched_group_engines_read() Bill Wendling
@ 2026-09-15 11:24 ` Takashi Iwai
2026-09-15 18:05 ` Kees Cook
29 siblings, 0 replies; 46+ messages in thread
From: Takashi Iwai @ 2026-09-15 11:24 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, Russell King, Huacai Chen, WANG Xuerui,
Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Ian Abbott, H Hartley Sweeten, Tony Luck,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Matthew Brost, "Thomas Hellström",
Rodrigo Vivi, Dmitry Torokhov, Matthias Schwarzott,
Mauro Carvalho Chehab, Tony Nguyen, Przemek Kitszel, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Arend van Spriel, Rob Herring, Saravana Kannan,
Krzysztof Kozlowski, Sylwester Nawrocki, Peter Griffin,
Alim Akhtar, Linus Walleij, Anil Gurumurthy, Sudarsana Kalluru,
Martin K. Petersen, Trond Myklebust, Anna Schumaker,
Mike Marshall, Martin Brandenburg, Kees Cook, Jiri Pirko,
Simon Horman, Chuck Lever, Jeff Layton, NeilBrown,
Olga Kornievskaia, Dai Ngo, Tom Talpey, Jaroslav Kysela,
Takashi Iwai, Andrew Morton, Mike Rapoport (Microsoft),
Kanglong Wang, Tiezhu Yang, Qiang Ma, Randy Dunlap, Pengpeng Hou,
Ard Biesheuvel, Breno Leitao, Thorsten Blum, Harshit Mogalapalli,
Greg Kroah-Hartman, Lyude Paul, Ashutosh Desai, Imre Deak,
Dmitry Baryshkov, Johan Hovold, Johannes Berg, Miri Korenblit,
Alexander Stein, Cryolitia PukNgae, Jiaming Zhang, Will Porter,
Cen Zhang, "Cássio Gabriel", Rong Zhang,
Arun Raghavan, linux-arm-kernel, loongarch, linux-mips,
linux-parisc, linux-edac, dri-devel, intel-xe, linux-input,
linux-media, intel-wired-lan, netdev, linux-wireless, brcm80211,
brcm80211-dev-list.pdl, devicetree, linux-samsung-soc, linux-gpio,
linux-scsi, linux-nfs, devel, linux-hardening, linux-sound
On Tue, 15 Sep 2026 10:18:17 +0200,
Bill Wendling wrote:
>
> strlcat() is deprecated: like strcat(), it requires re-scanning the
> destination string from the beginning on every call, which is O(n^2)
> when used to build up a string incrementally, and its truncation
> behavior is easy to get wrong.
... but what many of your patches do is to replace strlcat() with
open-codes, which is more error-prone and easier to get wrong than
a single strlcat() call.
> See:
>
> https://github.com/KSPP/linux/issues/370
It's clear that strlcat() isn't perfect and sometimes inefficient.
But blindly deprecating without providing a good alternative doesn't
sound like a right approach to me.
thanks,
Takashi
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf()
2026-09-15 8:18 [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Bill Wendling
` (28 preceding siblings ...)
2026-09-15 11:24 ` [PATCH 00/28] Replace remaining strlcat() call sites with snprintf()/seq_buf() Takashi Iwai
@ 2026-09-15 18:05 ` Kees Cook
29 siblings, 0 replies; 46+ messages in thread
From: Kees Cook @ 2026-09-15 18:05 UTC (permalink / raw)
To: Bill Wendling
Cc: linux-kernel, Russell King, Huacai Chen, WANG Xuerui,
Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Ian Abbott, H Hartley Sweeten, Tony Luck,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Matthew Brost, Thomas Hellström, Rodrigo Vivi,
Dmitry Torokhov, Matthias Schwarzott, Mauro Carvalho Chehab,
Tony Nguyen, Przemek Kitszel, Andrew Lunn, David S. Miller,
Eric Dumazet, Jakub Kicinski, Paolo Abeni, Arend van Spriel,
Rob Herring, Saravana Kannan, Krzysztof Kozlowski,
Sylwester Nawrocki, Peter Griffin, Alim Akhtar, Linus Walleij,
Anil Gurumurthy, Sudarsana Kalluru, Martin K. Petersen,
Trond Myklebust, Anna Schumaker, Mike Marshall,
Martin Brandenburg, Jiri Pirko, Simon Horman, Chuck Lever,
Jeff Layton, NeilBrown, Olga Kornievskaia, Dai Ngo, Tom Talpey,
Jaroslav Kysela, Takashi Iwai, Andrew Morton,
Mike Rapoport (Microsoft), Kanglong Wang, Tiezhu Yang, Qiang Ma,
Randy Dunlap, Pengpeng Hou, Ard Biesheuvel, Breno Leitao,
Thorsten Blum, Harshit Mogalapalli, Greg Kroah-Hartman,
Lyude Paul, Ashutosh Desai, Imre Deak, Dmitry Baryshkov,
Johan Hovold, Johannes Berg, Miri Korenblit, Alexander Stein,
Cryolitia PukNgae, Jiaming Zhang, Will Porter, Cen Zhang,
Cássio Gabriel, Rong Zhang, Arun Raghavan, nikitash.mariiaw,
linux-arm-kernel, loongarch, linux-mips, linux-parisc, linux-edac,
dri-devel, intel-xe, linux-input, linux-media, intel-wired-lan,
netdev, linux-wireless, brcm80211, brcm80211-dev-list.pdl,
devicetree, linux-samsung-soc, linux-gpio, linux-scsi, linux-nfs,
devel, linux-hardening, linux-sound
On Tue, Sep 15, 2026 at 08:18:17AM +0000, Bill Wendling wrote:
> strlcat() is deprecated: like strcat(), it requires re-scanning the
> destination string from the beginning on every call, which is O(n^2)
> when used to build up a string incrementally, and its truncation
> behavior is easy to get wrong. See:
>
> https://github.com/KSPP/linux/issues/370
>
> This series removes the remaining strlcat() call sites in the tree
> (plus the one inside fortify-string.h's strcat() implementation
> itself), replacing each with snprintf(), scnprintf(), or the seq_buf()
> API, whichever best fits the surrounding code.
Thanks for tackling this!
A few global notes:
- This series almost certainly needs to be sent as separate single
patches to each subsystem maintainer (rather than a giant CC list).
- As others noted already, we don't want to do anything as just an
open-coded strlen/sprintf; this doesn't gain us anything. If we can't
use seq_buf or some other solution, we need to figure out what we _can_
do for a given use.
- There are some collisions with other in-flight patches, e.g. Mariia's[1]
- The "Assisted-by:" trailer doesn't need the level of detail you've
got, which changed recently[2]. Now the desired trailer would just be:
Assisted-by: LLM
- Please avoid including the Cc list in the email body (above or below
the "---" line), as it ends up being redundant.
I'll go look through the individual patches...
-Kees
[1] https://lore.kernel.org/all/27956255dde39f58d73a7b51cb53cbe3d7804f54.1786411026.git.mariianikitash@google.com/
[2] https://git.kernel.org/linus/816d9992d9ed ("coding-assistants: simplify attribution")
--
Kees Cook
^ permalink raw reply [flat|nested] 46+ messages in thread