Skip to content

Commit 8a17eef

Browse files
ffainellidavem330
authored andcommitted
net: phy: broadcom: Use strlcpy() for ethtool::get_strings
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: 820ee17 ("net: phy: broadcom: Add support code for reading PHY counters") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 55f5356 commit 8a17eef

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/net/phy/bcm-phy-lib.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,8 @@ void bcm_phy_get_strings(struct phy_device *phydev, u8 *data)
341341
unsigned int i;
342342

343343
for (i = 0; i < ARRAY_SIZE(bcm_phy_hw_stats); i++)
344-
memcpy(data + i * ETH_GSTRING_LEN,
345-
bcm_phy_hw_stats[i].string, ETH_GSTRING_LEN);
344+
strlcpy(data + i * ETH_GSTRING_LEN,
345+
bcm_phy_hw_stats[i].string, ETH_GSTRING_LEN);
346346
}
347347
EXPORT_SYMBOL_GPL(bcm_phy_get_strings);
348348

0 commit comments

Comments
 (0)