Unverified Commit a6e07e9f authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3810 Some cleanup and bugfix for HNS3

Merge Pull Request from: @svishen 
 
This pr clean up some parameter initialization and fix some bug

There are several pointers are freed but not setted to NULL,
and their lifetime is not end immediately. To avoid misusing
there wild pointers, set them to NULL.

Removes several unnecessary variables initialization.

issue:
#I8PDAE:Some cleanup and bugfix for HNS3 
 
Link:https://gitee.com/openeuler/kernel/pulls/3810

 

Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 164513e3 ef003ce0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1288,7 +1288,7 @@ static void hns3_dhcp_cal_l4_csum(struct sk_buff *skb)
{
	union l3_hdr_info l3;
	union l4_hdr_info l4;
	__wsum csum = 0;
	__wsum csum;
	int offset;

	if (skb->ip_summed == CHECKSUM_PARTIAL)
+1 −0
Original line number Diff line number Diff line
@@ -303,6 +303,7 @@ static int hns3_lp_run_test(struct net_device *ndev, enum hnae3_loop mode)
			good_cnt++;
		} else {
			kfree_skb(skb);
			skb = NULL;
			netdev_err(ndev, "hns3_lb_run_test xmit failed: %d\n",
				   tx_ret);
		}
+4 −0
Original line number Diff line number Diff line
@@ -5441,6 +5441,7 @@ static void hclge_fd_free_node(struct hclge_dev *hdev,
{
	hlist_del(&rule->rule_node);
	kfree(rule);
	rule = NULL;
	hclge_sync_fd_state(hdev);
}

@@ -5465,6 +5466,7 @@ static void hclge_update_fd_rule_node(struct hclge_dev *hdev,
		new_rule->rule_node.pprev = old_rule->rule_node.pprev;
		memcpy(old_rule, new_rule, sizeof(*old_rule));
		kfree(new_rule);
		new_rule = NULL;
		break;
	case HCLGE_FD_DELETED:
		hclge_fd_dec_rule_cnt(hdev, old_rule->location);
@@ -9031,6 +9033,7 @@ static void hclge_update_mac_node(struct hclge_mac_node *mac_node,
		if (mac_node->state == HCLGE_MAC_TO_ADD) {
			list_del(&mac_node->node);
			kfree(mac_node);
			mac_node = NULL;
		} else {
			mac_node->state = HCLGE_MAC_TO_DEL;
		}
@@ -9661,6 +9664,7 @@ static void hclge_uninit_vport_mac_list(struct hclge_vport *vport,
		case HCLGE_MAC_TO_ADD:
			list_del(&mac_node->node);
			kfree(mac_node);
			mac_node = NULL;
			break;
		}
	}
+1 −1
Original line number Diff line number Diff line
@@ -1165,7 +1165,7 @@ static const hclge_mbx_ops_fn hclge_mbx_ops_list[HCLGE_MBX_OPCODE_MAX] = {

static void hclge_mbx_request_handling(struct hclge_mbx_ops_param *param)
{
	hclge_mbx_ops_fn cmd_func = NULL;
	hclge_mbx_ops_fn cmd_func;
	struct hclge_dev *hdev;
	int ret = 0;

+4 −0
Original line number Diff line number Diff line
@@ -1028,6 +1028,7 @@ static void hclgevf_update_mac_node(struct hclgevf_mac_addr_node *mac_node,
		if (mac_node->state == HCLGEVF_MAC_TO_ADD) {
			list_del(&mac_node->node);
			kfree(mac_node);
			mac_node = NULL;
		} else {
			mac_node->state = HCLGEVF_MAC_TO_DEL;
		}
@@ -2494,6 +2495,7 @@ static int hclgevf_init_msi(struct hclgevf_dev *hdev)
					sizeof(int), GFP_KERNEL);
	if (!hdev->vector_irq) {
		devm_kfree(&pdev->dev, hdev->vector_status);
		hdev->vector_status = NULL;
		pci_free_irq_vectors(pdev);
		return -ENOMEM;
	}
@@ -2507,6 +2509,8 @@ static void hclgevf_uninit_msi(struct hclgevf_dev *hdev)

	devm_kfree(&pdev->dev, hdev->vector_status);
	devm_kfree(&pdev->dev, hdev->vector_irq);
	hdev->vector_status = NULL;
	hdev->vector_irq = NULL;
	pci_free_irq_vectors(pdev);
}

Loading