net: phy: micrel: Use strlcpy() for ethtool::get_strings
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 2 Mar 2018 23:08:38 +0000 (15:08 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 May 2020 06:15:37 +0000 (08:15 +0200)
commit0101213f67193e4bebf92336d3f149bee0dc7fa7
tree3fa44eca8815c8d325ff93522290d375ab5f7d52
parentce9f411be7f9639fb109528c3e661a0a4a867090
net: phy: micrel: Use strlcpy() for ethtool::get_strings

commit 55f53567afe5f0cd2fd9e006b174c08c31c466f8 upstream.

Our statistics strings are allocated at initialization without being
bound to a specific size, yet, we would copy ETH_GSTRING_LEN bytes using
memcpy() which would create out of bounds accesses, this was flagged by
KASAN. Replace this with strlcpy() to make sure we are bound the source
buffer size and we also always NUL-terminate strings.

Fixes: 2b2427d06426 ("phy: micrel: Add ethtool statistics counters")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/micrel.c