[PATCH] OPP: switch to use kmemdup_array()

zhang.enpei@zte.com.cn posted 1 patch 7 months, 1 week ago
drivers/opp/core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] OPP: switch to use kmemdup_array()
Posted by zhang.enpei@zte.com.cn 7 months, 1 week ago
From: Zhang Enpei <zhang.enpei@zte.com.cn>

Use kmemdup_array() to avoid multiplication and possible overflows.

Signed-off-by: Zhang Enpei <zhang.enpei@zte.com.cn>
---
 drivers/opp/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 72fbb6cadc23..d85e3371493f 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -2087,8 +2087,8 @@ static int _opp_set_supported_hw(struct opp_table *opp_table,
        if (opp_table->supported_hw)
                return 0;

-       opp_table->supported_hw = kmemdup(versions, count * sizeof(*versions),
-                                       GFP_KERNEL);
+       opp_table->supported_hw = kmemdup_array(versions, count, sizeof(*versions),
+                                               GFP_KERNEL);
        if (!opp_table->supported_hw)
                return -ENOMEM;

-- 
2.25.1
Re: [PATCH] OPP: switch to use kmemdup_array()
Posted by Viresh Kumar 7 months ago
On 15-05-25, 20:13, zhang.enpei@zte.com.cn wrote:
> From: Zhang Enpei <zhang.enpei@zte.com.cn>
> 
> Use kmemdup_array() to avoid multiplication and possible overflows.
> 
> Signed-off-by: Zhang Enpei <zhang.enpei@zte.com.cn>
> ---
>  drivers/opp/core.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/opp/core.c b/drivers/opp/core.c
> index 72fbb6cadc23..d85e3371493f 100644
> --- a/drivers/opp/core.c
> +++ b/drivers/opp/core.c
> @@ -2087,8 +2087,8 @@ static int _opp_set_supported_hw(struct opp_table *opp_table,
>         if (opp_table->supported_hw)
>                 return 0;
> 
> -       opp_table->supported_hw = kmemdup(versions, count * sizeof(*versions),
> -                                       GFP_KERNEL);
> +       opp_table->supported_hw = kmemdup_array(versions, count, sizeof(*versions),
> +                                               GFP_KERNEL);
>         if (!opp_table->supported_hw)
>                 return -ENOMEM;

Applied. Thanks.

-- 
viresh