linux/drivers/isdn/mISDN
Justin Stitt 5c80c4fced isdn: replace deprecated strncpy with strscpy
`strncpy` is deprecated for use on NUL-terminated destination strings
[1] and as such we should prefer more robust and less ambiguous string
interfaces.

We expect `iclock->name` to be NUL-terminated based on its use within
printk:
|	printk(KERN_DEBUG "%s: %s %d\n", __func__, iclock->name,
|	       iclock->pri);

`iclock` is zero-initialized and as such is already NUL-padded which
means strncpy is doing extra work here by eagerly NUL-padding the
destination buffer.

Considering the above, a suitable replacement is `strscpy` [2] due to
the fact that it guarantees NUL-termination on the destination buffer
without unnecessarily NUL-padding.

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
Link: https://manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html [2]
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230922-strncpy-drivers-isdn-misdn-clock-c-v1-1-3ba2a5ae627a@google.com
Signed-off-by: Kees Cook <keescook@chromium.org>
2023-10-02 11:07:02 -07:00
..
clock.c isdn: replace deprecated strncpy with strscpy 2023-10-02 11:07:02 -07:00
core.c mISDN: remove unneeded mISDN_class_release() 2023-03-30 09:54:49 +02:00
core.h mISDN: change function names to avoid conflicts 2021-12-28 12:12:04 +00:00
dsp_audio.c
dsp_biquad.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dsp_blowfish.c
dsp_cmx.c mISDN: Update parameter type of dsp_cmx_send() 2023-08-03 18:08:32 -07:00
dsp_core.c mISDN: Update parameter type of dsp_cmx_send() 2023-08-03 18:08:32 -07:00
dsp_dtmf.c
dsp_ecdis.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dsp_hwec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 90 2019-05-24 17:37:53 +02:00
dsp_hwec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dsp_pipeline.c driver core: class: remove module * from class_create() 2023-03-17 15:16:33 +01:00
dsp_tones.c
dsp.h mISDN: Update parameter type of dsp_cmx_send() 2023-08-03 18:08:32 -07:00
fsm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
fsm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
hwchannel.c idsn: Use pr_warn instead of pr_warning 2019-10-18 15:00:21 +02:00
Kconfig misdn: dsp: select CONFIG_BITREVERSE 2021-01-05 15:50:36 -08:00
l1oip_codec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
l1oip_core.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00
l1oip.h mISDN: fix use-after-free bugs in l1oip timer handlers 2022-09-30 12:32:42 +01:00
layer1.c mISDN: change function names to avoid conflicts 2021-12-28 12:12:04 +00:00
layer1.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
layer2.c mISDN: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:03 -07:00
layer2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
socket.c net: remove noblock parameter from skb_recv_datagram() 2022-04-06 13:45:26 +01:00
stack.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
tei.c mISDN: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:03 -07:00
timerdev.c treewide: Convert del_timer*() to timer_shutdown*() 2022-12-25 13:38:09 -08:00