`strncpy` is deprecated for use on NUL-terminated destination strings [1]. A suitable replacement is `strscpy` or `strscpy_pad` [2] due to the fact that they guarantee NUL-termination on their destination buffer argument which is _not_ the case for `strncpy`! This series of patches aims to swap out `strncpy` for more a robust and less ambiguous interface `strscpy_pad` . This patch series, if applied in its entirety, removes most if not all instances of `strncpy` in the `net/netfilter` directory. [1]: www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [2]: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html Link: https://github.com/KSPP/linux/issues/90 Related: commit 8556bceb9c40 ("netfilter: move from strlcpy with unused retval to strscpy") --- Changes in v2: - use `strscpy_pad` instead of `strscpy` since zero-padding is needed (thanks Florian and Kees) - Link to v1: https://lore.kernel.org/r/20230808-net-netfilter-v1-0-efbbe4ec60af@xxxxxxxxxx --- Justin Stitt (7): netfilter: ipset: refactor deprecated strncpy netfilter: nf_tables: refactor deprecated strncpy netfilter: nf_tables: refactor deprecated strncpy netfilter: nft_meta: refactor deprecated strncpy netfilter: nft_osf: refactor deprecated strncpy netfilter: x_tables: refactor deprecated strncpy netfilter: xtables: refactor deprecated strncpy net/netfilter/ipset/ip_set_core.c | 10 +++++----- net/netfilter/nft_ct.c | 2 +- net/netfilter/nft_fib.c | 2 +- net/netfilter/nft_meta.c | 6 +++--- net/netfilter/nft_osf.c | 6 +++--- net/netfilter/x_tables.c | 5 ++--- net/netfilter/xt_repldata.h | 2 +- 7 files changed, 16 insertions(+), 17 deletions(-) --- base-commit: 14f9643dc90adea074a0ffb7a17d337eafc6a5cc change-id: 20230807-net-netfilter-4027219bb6e7 Best regards, -- Justin Stitt <justinstitt@xxxxxxxxxx>