summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2.h
diff options
context:
space:
mode:
authorwangweidong <wangweidong1@huawei.com>2015-10-08 18:03:47 +0800
committerDavid S. Miller <davem@davemloft.net>2015-10-11 05:06:21 -0700
commit8fae307c8fe9789ff1f4161dcb2db0d689069448 (patch)
tree96e0afa810063f8fc6e8ac0d4e83ec2985b01aea /drivers/net/ethernet/broadcom/bnx2.h
parente446f9dfe17bbaa76a1fe22912636f38be1e1af8 (diff)
downloadtalos-op-linux-8fae307c8fe9789ff1f4161dcb2db0d689069448.tar.gz
talos-op-linux-8fae307c8fe9789ff1f4161dcb2db0d689069448.zip
BNX2: fix a Null Pointer for stats_blk
we have two processes to do: P1#: ifconfig eth0 down; which will call bnx2_close, then will , and set Null to stats_blk P2#: ifconfig eth0; which will call bnx2_get_stats64, it will use stats_blk. In one case: --P1#-- --P2#-- stats_blk(no null) bnx2_free_mem ->bp->stats_blk = NULL GET_64BIT_NET_STATS then it will cause 'NULL Pointer' Problem. it is as well with 'ethtool -S ethx'. Allocate the statistics block at probe time so that this problem is impossible Signed-off-by: Wang Weidong <wangweidong1@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2.h')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2.h b/drivers/net/ethernet/broadcom/bnx2.h
index f92f76c44756..380234d72b95 100644
--- a/drivers/net/ethernet/broadcom/bnx2.h
+++ b/drivers/net/ethernet/broadcom/bnx2.h
@@ -6928,6 +6928,7 @@ struct bnx2 {
dma_addr_t status_blk_mapping;
+ void *status_blk;
struct statistics_block *stats_blk;
struct statistics_block *temp_stats_blk;
dma_addr_t stats_blk_mapping;
OpenPOWER on IntegriCloud