Re: [PATCH] e1000e: Use sizeof struct rather than pointer in e1000_get_eeprom()

From: Roel Kluin
Date: Sun Nov 22 2009 - 09:18:46 EST


Don't use the sizeof the pointer to clear the result

Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
---
drivers/net/e1000e/ethtool.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

> - memset(eeprom_buff, 0xff, sizeof(eeprom_buff));
> + memset(eeprom_buff, 0xff, sizeof(*eeprom_buff));

No it's probably still not correct, eeprom_buff was kmalloc'd with:

eeprom_buff = kmalloc(sizeof(u16) *
(last_word - first_word + 1), GFP_KERNEL);

How about:

diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 1bf4d2a..5b276c0 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -508,7 +508,8 @@ static int e1000_get_eeprom(struct net_device *netdev,

if (ret_val) {
/* a read error occurred, throw away the result */
- memset(eeprom_buff, 0xff, sizeof(eeprom_buff));
+ memset(eeprom_buff, 0xff, sizeof(u16) *
+ (last_word - first_word + 1));
} else {
/* Device's eeprom is always little-endian, word addressable */
for (i = 0; i < last_word - first_word + 1; i++)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/