Messages in this thread Patch in this message |  | | Date | Sun, 22 Nov 2009 15:31:34 +0100 | | From | Roel Kluin <> | | Subject | Re: [PATCH] e1000e: Use sizeof struct rather than pointer in e1000_get_eeprom() |
| |
Don't use the sizeof the pointer to clear the result
Signed-off-by: Roel Kluin <roel.kluin@gmail.com> --- 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++)
|  |