net: mana: Use struct_size() helper in mana_gd_create_dma_region()
PATCH 1/1 net: mana: Use struct_size() helper in mana_gd_create_dma_region()
Make use of the struct_size() helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows.
Also, address the following sparse warnings:drivers/net/ethernet/microsoft/mana/gdma_main.c:677:24: warning: using sizeof on a flexible structure
--- drivers/net/ethernet/microsoft/mana/gdma_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ethernet/microsoft/mana/gdma_main.c +2 -2
@@ -663,7 +663,7 @@ static int mana_gd_create_dma_region(struct gdma_dev *gd,struct gdma_context *gc = gd->gdma_context;struct hw_channel_context *hwc;u32 length = gmi->length; -u32 req_msg_size; +size_t req_msg_size;int err;int i;
@@ -674,7 +674,7 @@ static int mana_gd_create_dma_region(struct gdma_dev *gd,return -EINVAL ; hwc = gc->hwc.driver_data; - req_msg_size =sizeof (*req) + num_page *sizeof (u64); + req_msg_size =struct_size (req, page_addr_list, num_page);if (req_msg_size > hwc->max_req_msg_size)return -EINVAL ;
Signature · 1 line
2.27.0
Quoted 7 lines
From: Gustavo A. R. Silva <[email protected]>
Sent: Monday, January 24, 2022 1:44 PM
...
Make use of thestruct_size()helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows.
Quoted 5 lines
Also, address the following sparse warnings:
drivers/net/ethernet/microsoft/mana/gdma_main.c:677:24: warning: using sizeof on a flexible structure
...Signed-off-by Gustavo A. R. Silva <[email protected]>
Quoted 7 lines · On Mon, 24 Jan 2022 21:47:38 +0000 Dexuan Cui wrote:
Quoted 7 lines
From: Gustavo A. R. Silva <[email protected]>
Sent: Monday, January 24, 2022 1:44 PM
...
Make use of thestruct_size()helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows.
Quoted 7 lines
Quoted 5 lines
Also, address the following sparse warnings:
drivers/net/ethernet/microsoft/mana/gdma_main.c:677:24: warning: using sizeof on a flexible structure
...Signed-off-by Gustavo A. R. Silva <[email protected]>Reviewed-by Dexuan Cui <[email protected]>
Thanks! Applied to net-next, 10cdc794dae8 ("net: mana: Use struct_size() helper in mana_gd_create_dma_region()")