bpf: Replace all non-returning strlcpy with strscpy
authorAzeem Shaikh <azeemshaikh38@gmail.com>
Tue, 30 May 2023 15:56:59 +0000 (15:56 +0000)
committerDaniel Borkmann <daniel@iogearbox.net>
Wed, 31 May 2023 11:04:20 +0000 (13:04 +0200)
commitffadc372529e268b54c5b98f56da07d8024fa1cb
tree6ed4d16e41bb83401a3372149a28cb21dabb2c8c
parent0d2da4b595d03009db7dfb5ebf01c547b89b0ad8
bpf: Replace all non-returning strlcpy with strscpy

strlcpy() reads the entire source buffer first. This read may exceed the
destination size limit. This is both inefficient and can lead to linear
read overflows if a source string is not NUL-terminated [1]. This is not
the case here, however, in an effort to remove strlcpy() completely [2],
lets replace strlcpy() here with strscpy(). No return values were used,
so a direct replacement is safe.

  [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
  [2] https://github.com/KSPP/linux/issues/89

Signed-off-by: Azeem Shaikh <azeemshaikh38@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/bpf/20230530155659.309657-1-azeemshaikh38@gmail.com
kernel/bpf/preload/bpf_preload_kern.c