• justinstitt@google.com's avatar
    net: dsa: remove deprecated strncpy · 5c9f7b04
    justinstitt@google.com authored
    `strncpy` is deprecated for use on NUL-terminated destination strings [1].
    
    Even call sites utilizing length-bounded destination buffers should
    switch over to using `strtomem` or `strtomem_pad`. In this case,
    however, the compiler is unable to determine the size of the `data`
    buffer which renders `strtomem` unusable. Due to this, `strscpy`
    should be used.
    
    It should be noted that most call sites already zero-initialize the
    destination buffer. However, I've opted to use `strscpy_pad` to maintain
    the same exact behavior that `strncpy` produced (zero-padded tail up to
    `len`).
    
    Also see [3].
    
    [1]: www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
    [2]: elixir.bootlin.com/linux/v6.3/source/net/ethtool/ioctl.c#L1944
    [3]: manpages.debian.org/testing/linux-manual-4.8/strscpy.9.en.html
    
    Link: https://github.com/KSPP/linux/issues/90Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarJustin Stitt <justinstitt@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5c9f7b04
slave.c 91.8 KB