drm/rockchip: vop2: use struct_size() in vop2_bind
authorJacob Keller <jacob.e.keller@intel.com>
Thu, 23 Feb 2023 01:35:33 +0000 (17:35 -0800)
committerHeiko Stuebner <heiko@sntech.de>
Thu, 9 Mar 2023 00:58:55 +0000 (01:58 +0100)
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@intel.com>
Cc: Sandy Huang <hjc@rock-chips.com>
Cc: Heiko Stübner <heiko@sntech.de>
Cc: David Airlie <airlied@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20230223013533.1707706-1-jacob.e.keller@intel.com
drivers/gpu/drm/rockchip/rockchip_drm_vop2.c

index 0e00123689766772a94e03ab10ac5b9204d28d4d..3e5861653b69bb3ef1277f84374907d642bd26d8 100644 (file)
@@ -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;