[PATCH v2 00/17] drivers: replace strncpy with strlcpy
Bruce Richardson
bruce.richardson at intel.com
Tue Sep 22 18:41:37 CEST 2026
On Tue, Sep 22, 2026 at 06:13:08PM +0200, David Marchand wrote:
> On Wed, 24 Jun 2026 at 12:37, Bruce Richardson
> <bruce.richardson at intel.com> wrote:
> >
> > Many uses of strncpy in DPDK drivers can be directly replaced by
> > a call to strlcpy instead, which is safer in that it always null-
> > terminates the string. This AI assisted patchset makes those
> > simple replacements, adjusting lengths as appropriate.
> >
> > After this set, there are still a number of drivers with strncpy calls
> > in them, but those are not simple strncpy->strlcpy replacements, so
> > left for later rework.
> >
> > v2:
> > * fix incorrect commit ids for fixlines.
> > * fix build errors due to missing rte_string_fns.h header include
> >
> > Bruce Richardson (17):
> > common/cnxk: replace strncpy with strlcpy
> > common/mlx5: replace strncpy with strlcpy
> > crypto/mvsam: replace strncpy with strlcpy
> > crypto/scheduler: replace strncpy with strlcpy
> > event/cnxk: replace strncpy with strlcpy
> > net/ark: replace strncpy with strlcpy
> > net/bnx2x: replace strncpy with strlcpy
> > net/cnxk: replace strncpy with strlcpy
> > net/dpaa: replace strncpy with strlcpy
> > net/ionic: replace strncpy with strlcpy
> > net/mlx4: replace strncpy with strlcpy
> > net/mlx5: replace strncpy with strlcpy
> > net/nfp: replace strncpy with strlcpy
> > net/qede: replace strncpy with strlcpy
> > net/softnic: replace strncpy with strlcpy
> > net/vhost: replace strncpy with strlcpy
> > net/virtio: replace strncpy with strlcpy
> >
> > drivers/common/cnxk/roc_model.c | 8 ++++----
> > drivers/common/mlx5/linux/mlx5_common_os.c | 2 +-
> > drivers/crypto/mvsam/rte_mrvl_pmd.c | 2 +-
> > drivers/crypto/scheduler/scheduler_pmd.c | 8 ++++----
> > drivers/event/cnxk/cnxk_eventdev_stats.c | 2 +-
> > drivers/net/ark/ark_ethdev.c | 2 +-
> > drivers/net/bnx2x/bnx2x.c | 2 +-
> > drivers/net/bnx2x/bnx2x_vfpf.c | 2 +-
> > drivers/net/cnxk/cnxk_eswitch.c | 4 ++--
> > drivers/net/cnxk/cnxk_rep_msg.c | 2 +-
> > drivers/net/dpaa/dpaa_ethdev.c | 2 +-
> > drivers/net/ionic/ionic_main.c | 4 ++--
> > drivers/net/mlx4/mlx4_ethdev.c | 2 +-
> > drivers/net/mlx5/mlx5.c | 8 ++++----
> > drivers/net/mlx5/windows/mlx5_ethdev_os.c | 2 +-
> > drivers/net/nfp/nfpcore/nfp_resource.c | 2 +-
> > drivers/net/qede/qede_ethdev.c | 2 +-
> > drivers/net/softnic/conn.c | 6 ++++--
> > drivers/net/vhost/rte_eth_vhost.c | 2 +-
> > drivers/net/virtio/virtio_user/vhost_kernel_tap.c | 2 +-
> > 20 files changed, 34 insertions(+), 32 deletions(-)
>
> Series applied.
>
> Thanks for the cleanup Bruce.
>
> Even if the transition is not finished, it is probably worth updating
> checkpatches.sh to avoid new strncpy additions now.
>
This should be already covered by kernel checkpatch.pl script we wrap, so I
don't believe we need to add anything:
cat /tmp/test_strncpy.patch | devtools/checkpatches.sh -q 2>&1
### [PATCH] test: check strncpy detection
WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one
WARNING:STRNCPY: Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90
#20: FILE: ...
If we replace the checkpatches.sh script with Stephen's python version, we
can probably get a better error message more relevant for userspace.
/Bruce
More information about the dev
mailing list