Use the overflow-protected struct_size() helper macro to compute the allocation size of the vop2 data structure. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Cc: Sandy Huang <hjc@xxxxxxxxxxxxxx> Cc: Heiko Stübner <heiko@xxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxxx> --- I found this while developing a coccinelle script to detect potential places where struct_size() would be appropriate. drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index 0e0012368976..3e5861653b69 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -2655,7 +2655,7 @@ static int vop2_bind(struct device *dev, struct device *master, void *data) return -ENODEV; /* Allocate vop2 struct and its vop2_win array */ - alloc_size = sizeof(*vop2) + sizeof(*vop2->win) * vop2_data->win_size; + alloc_size = struct_size(vop2, win, vop2_data->win_size); vop2 = devm_kzalloc(dev, alloc_size, GFP_KERNEL); if (!vop2) return -ENOMEM; base-commit: 4d5a2cce47a8e1e7119a881a4714f0eee557c1cd -- 2.39.1.405.gd4c25cc71f83