RE: [PATCH net 8/8] net: hns3: add checking for vf id of mailbox

From: Sunil Kovvuri Goutham
Date: Thu Mar 07 2024 - 06:10:07 EST




> -----Original Message-----
> From: Jijie Shao <shaojijie@xxxxxxxxxx>
> Sent: Thursday, March 7, 2024 6:31 AM
> To: yisen.zhuang@xxxxxxxxxx; salil.mehta@xxxxxxxxxx;
> davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx; kuba@xxxxxxxxxx;
> pabeni@xxxxxxxxxx
> Cc: shenjian15@xxxxxxxxxx; wangjie125@xxxxxxxxxx;
> liuyonglong@xxxxxxxxxx; shaojijie@xxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx
> Subject: [EXTERNAL] [PATCH net 8/8] net: hns3: add checking for vf id of
> mailbox
>
> From: Jian Shen <shenjian15@xxxxxxxxxx>
>
> Add checking for vf id of mailbox, in order to avoid array out-of-bounds risk.
>
> Signed-off-by: Jian Shen <shenjian15@xxxxxxxxxx>
> Signed-off-by: Jijie Shao <shaojijie@xxxxxxxxxx>
> ---
> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
> b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
> index 4b0d07ca2505..d4a0e0be7a72 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
> @@ -1123,10 +1123,11 @@ void hclge_mbx_handler(struct hclge_dev
> *hdev)
> req = (struct hclge_mbx_vf_to_pf_cmd *)desc->data;
>
> flag = le16_to_cpu(crq->desc[crq->next_to_use].flag);
> - if (unlikely(!hnae3_get_bit(flag,
> HCLGE_CMDQ_RX_OUTVLD_B))) {
> + if (unlikely(!hnae3_get_bit(flag,
> HCLGE_CMDQ_RX_OUTVLD_B) ||
> + req->mbx_src_vfid > hdev->num_req_vfs)) {
> dev_warn(&hdev->pdev->dev,
> - "dropped invalid mailbox message, code =
> %u\n",
> - req->msg.code);
> + "dropped invalid mailbox message, code =
> %u, vfid = %u\n",
> + req->msg.code, req->mbx_src_vfid);
>
> /* dropping/not processing this invalid message */
> crq->desc[crq->next_to_use].flag = 0;
> --
> 2.30.0
>

Reviewed-by: Sunil Goutham <sgoutham@xxxxxxxxxxx>