浏览代码

bnx2x: Check unzip return code

Without this check, when running out of memory, we will see PSOD's in
bnx2x_init_fill() when doing a memset().  This is because at that time,
bp->gunzip_buf is not pointing to a valid allocated space.

Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Eilon Greenstein 16 年之前
父节点
当前提交
54016b260e
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      drivers/net/bnx2x_main.c

+ 3 - 1
drivers/net/bnx2x_main.c

@@ -6512,7 +6512,9 @@ static int bnx2x_init_hw(struct bnx2x *bp, u32 load_code)
 
 
 	bp->dmae_ready = 0;
 	bp->dmae_ready = 0;
 	mutex_init(&bp->dmae_mutex);
 	mutex_init(&bp->dmae_mutex);
-	bnx2x_gunzip_init(bp);
+	rc = bnx2x_gunzip_init(bp);
+	if (rc)
+		return rc;
 
 
 	switch (load_code) {
 	switch (load_code) {
 	case FW_MSG_CODE_DRV_LOAD_COMMON:
 	case FW_MSG_CODE_DRV_LOAD_COMMON: