| From 074f4305919e682bb594a4a1ef80e2f674fdbc8f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 13 Sep 2021 21:08:24 +0800 |
| Subject: net: hns3: fix the exception when query imp info |
| |
| From: Jiaran Zhang <zhangjiaran@huawei.com> |
| |
| [ Upstream commit 472430a7b066f19afa1b55867d621b2d6d323e0d ] |
| |
| When the command for querying imp info is issued to the firmware, |
| if the firmware does not support the command, the returned value |
| of bd num is 0. |
| Add protection mechanism before alloc memory to prevent apply for |
| 0-length memory. |
| |
| Fixes: 0b198b0d80ea ("net: hns3: refactor dump m7 info of debugfs") |
| Signed-off-by: Jiaran Zhang <zhangjiaran@huawei.com> |
| Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c |
| index 288788186ecc..e6e617aba2a4 100644 |
| --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c |
| +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c |
| @@ -1710,6 +1710,10 @@ hclge_dbg_get_imp_stats_info(struct hclge_dev *hdev, char *buf, int len) |
| } |
| |
| bd_num = le32_to_cpu(req->bd_num); |
| + if (!bd_num) { |
| + dev_err(&hdev->pdev->dev, "imp statistics bd number is 0!\n"); |
| + return -EINVAL; |
| + } |
| |
| desc_src = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); |
| if (!desc_src) |
| -- |
| 2.30.2 |
| |