public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sh_eth: Avoid memcpy() over-reading of ETH_SS_STATS
@ 2021-06-16 19:53 Kees Cook
  2021-06-16 20:10 ` patchwork-bot+netdevbpf
  2021-06-17  5:50 ` Wolfram Sang
  0 siblings, 2 replies; 3+ messages in thread
From: Kees Cook @ 2021-06-16 19:53 UTC (permalink / raw)
  To: netdev
  Cc: Kees Cook, Sergei Shtylyov, David S. Miller, Jakub Kicinski,
	Sergey Shtylyov, Andrew Lunn, Wolfram Sang, Geert Uytterhoeven,
	Jesse Brandeburg, Michael Walle, Yang Yingliang, Rikard Falkeborn,
	linux-kernel, linux-renesas-soc, linux-hardening

In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memcpy(), memmove(), and memset(), avoid
intentionally reading across neighboring array fields.

The memcpy() is copying the entire structure, not just the first array.
Adjust the source argument so the compiler can do appropriate bounds
checking.

Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/net/ethernet/renesas/sh_eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 177523be4fb6..840478692a37 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -2287,7 +2287,7 @@ static void sh_eth_get_strings(struct net_device *ndev, u32 stringset, u8 *data)
 {
 	switch (stringset) {
 	case ETH_SS_STATS:
-		memcpy(data, *sh_eth_gstrings_stats,
+		memcpy(data, sh_eth_gstrings_stats,
 		       sizeof(sh_eth_gstrings_stats));
 		break;
 	}
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-17  5:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-16 19:53 [PATCH] sh_eth: Avoid memcpy() over-reading of ETH_SS_STATS Kees Cook
2021-06-16 20:10 ` patchwork-bot+netdevbpf
2021-06-17  5:50 ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox