Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c32bc6e9b0778c891f7f3b97cd05c8cdf98b6721
Commit:     c32bc6e9b0778c891f7f3b97cd05c8cdf98b6721
Parent:     70eba18b5664f90d7620905e005b89388e5fd94b
Author:     Roel Kluin <[EMAIL PROTECTED]>
AuthorDate: Wed Dec 5 11:57:30 2007 -0800
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Fri Dec 7 15:01:43 2007 -0500

    e1000: fix memcpy in e1000_get_strings
    
    drivers/net/e1000/e1000_ethtool.c:113:
    #define E1000_TEST_LEN sizeof(e1000_gstrings_test) / ETH_GSTRING_LEN
    
    drivers/net/e1000e/ethtool.c:106:
    #define E1000_TEST_LEN sizeof(e1000_gstrings_test) / ETH_GSTRING_LEN
    
    E1000_TEST_LEN*ETH_GSTRING_LEN will expand to
    sizeof(e1000_gstrings_test) / (ETH_GSTRING_LEN * ETH_GSTRING_LEN)
    
    A lack of parentheses around defines causes unexpected results due to
    operator precedences.
    
    Signed-off-by: Roel Kluin <[EMAIL PROTECTED]>
    Signed-off-by: Auke Kok <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/e1000/e1000_ethtool.c |    2 +-
 drivers/net/e1000e/ethtool.c      |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000/e1000_ethtool.c 
b/drivers/net/e1000/e1000_ethtool.c
index 667f18b..b83ccce 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -1923,7 +1923,7 @@ e1000_get_strings(struct net_device *netdev, uint32_t 
stringset, uint8_t *data)
        switch (stringset) {
        case ETH_SS_TEST:
                memcpy(data, *e1000_gstrings_test,
-                       E1000_TEST_LEN*ETH_GSTRING_LEN);
+                       sizeof(e1000_gstrings_test));
                break;
        case ETH_SS_STATS:
                for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 6a39784..87f9da1 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -1739,7 +1739,7 @@ static void e1000_get_strings(struct net_device *netdev, 
u32 stringset,
        switch (stringset) {
        case ETH_SS_TEST:
                memcpy(data, *e1000_gstrings_test,
-                       E1000_TEST_LEN*ETH_GSTRING_LEN);
+                       sizeof(e1000_gstrings_test));
                break;
        case ETH_SS_STATS:
                for (i = 0; i < E1000_GLOBAL_STATS_LEN; i++) {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to