Let the kememdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Yu Jiaoliang <yujiaoli...@vivo.com>
---
 drivers/gpu/drm/drm_connector.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index fc35f47e2849..dc1a5243dc90 100644
--- a/drivers/gpu/drm/drm_connector.c
+++ b/drivers/gpu/drm/drm_connector.c
@@ -1025,8 +1025,8 @@ int drm_display_info_set_bus_formats(struct 
drm_display_info *info,
                return -EINVAL;
 
        if (formats && num_formats) {
-               fmts = kmemdup(formats, sizeof(*formats) * num_formats,
-                              GFP_KERNEL);
+               fmts = kmemdup_array(formats, num_formats, sizeof(*formats),
+                                    GFP_KERNEL);
                if (!fmts)
                        return -ENOMEM;
        }
-- 
2.34.1

Reply via email to