lkml.org 
[lkml]   [2024]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v3] net: dsa: lan9303: use ethtool_puts() for lan9303_get_strings()
    From
    This pattern of strncpy with some pointer arithmetic setting fixed-sized
    intervals with string literal data is a bit weird so let's use
    ethtool_puts() as this has more obvious behavior and is less-error
    prone.

    Nicely, we also get to drop a usage of the now deprecated strncpy() [1].

    Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
    Link: https://github.com/KSPP/linux/issues/90
    Cc: linux-hardening@vger.kernel.org
    Cc: Kees Cook <keescook@chromium.org>
    Signed-off-by: Justin Stitt <justinstitt@google.com>
    Suggested-by: Alexander Lobakin <aleksander.lobakin@intel.com>
    ---
    Changes in v3:
    - use ethtool_puts over ethtool_sprintf
    - Link to v2: https://lore.kernel.org/r/20231005-strncpy-drivers-net-dsa-lan9303-core-c-v2-1-feb452a532db@google.com

    Changes in v2:
    - use ethtool_sprintf (thanks Alexander)
    - Link to v1: https://lore.kernel.org/r/20231005-strncpy-drivers-net-dsa-lan9303-core-c-v1-1-5a66c538147e@google.com
    ---
    drivers/net/dsa/lan9303-core.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c
    index fcb20eac332a..04d3af0eb28e 100644
    --- a/drivers/net/dsa/lan9303-core.c
    +++ b/drivers/net/dsa/lan9303-core.c
    @@ -1007,14 +1007,14 @@ static const struct lan9303_mib_desc lan9303_mib[] = {
    static void lan9303_get_strings(struct dsa_switch *ds, int port,
    u32 stringset, uint8_t *data)
    {
    + u8 *buf = data;
    unsigned int u;

    if (stringset != ETH_SS_STATS)
    return;

    for (u = 0; u < ARRAY_SIZE(lan9303_mib); u++) {
    - strncpy(data + u * ETH_GSTRING_LEN, lan9303_mib[u].name,
    - ETH_GSTRING_LEN);
    + ethtool_puts(&buf, lan9303_mib[u].name);
    }
    }

    ---
    base-commit: c85af715cac0a951eea97393378e84bb49384734
    change-id: 20231005-strncpy-drivers-net-dsa-lan9303-core-c-6386858e5c22
    Best regards,
    --
    Justin Stitt <justinstitt@google.com>


    \
     
     \ /
      Last update: 2024-05-27 16:30    [W:4.825 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site