From bdb43f59a86e247fb09541ffe74ee0f5b01acaf8 Mon Sep 17 00:00:00 2001 From: liuzhongzhu Date: Mon, 25 Mar 2019 16:54:18 +0800 Subject: [PATCH] net: hns3: Modify the kcalloc memory request to not sleep driver inclusion category: bufgix bugzilla: 12852 CVE: NA When kcalloc uses GFP_KERNEL, if it encounters insufficient memory, it will trigger sleep, so it may cause deadlock. Modified to GFP_ATOMIC, if the request for memory fails, it will be returned directly. Signed-off-by: liuzhongzhu Reviewed-by: Xie XiuQi Signed-off-by: Yang Yingliang --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index b2ab484b9977..95fd0b2e4dde 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -303,7 +303,10 @@ static int hclge_mac_update_stats_complete(struct hclge_dev *hdev, u32 desc_num) u16 i, k, n; int ret; - desc = kcalloc(desc_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kcalloc(desc_num, sizeof(struct hclge_desc), GFP_ATOMIC); + if (!desc) + return -ENOMEM; + hclge_cmd_setup_basic_desc(&desc[0], HCLGE_OPC_STATS_MAC_ALL, true); ret = hclge_cmd_send(&hdev->hw, desc, desc_num); if (ret) { -- GitLab