[PATCH] clk: pxa: add a check for the return value of kzalloc()

xkernel.wang@foxmail.com posted 1 patch 4 years, 2 months ago
There is a newer version of this series
drivers/clk/pxa/clk-pxa.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] clk: pxa: add a check for the return value of kzalloc()
Posted by xkernel.wang@foxmail.com 4 years, 2 months ago
From: Xiaoke Wang <xkernel.wang@foxmail.com>

kzalloc() is a memory allocation function which can return NULL when
some internal memory errors happen. So it is better to check it to
prevent potential wrong memory access.

Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
---
 drivers/clk/pxa/clk-pxa.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/clk/pxa/clk-pxa.c b/drivers/clk/pxa/clk-pxa.c
index cfc79f9..d0df104 100644
--- a/drivers/clk/pxa/clk-pxa.c
+++ b/drivers/clk/pxa/clk-pxa.c
@@ -102,6 +102,8 @@ int __init clk_pxa_cken_init(const struct desc_clk_cken *clks, int nb_clks)
 
 	for (i = 0; i < nb_clks; i++) {
 		pxa_clk = kzalloc(sizeof(*pxa_clk), GFP_KERNEL);
+		if (!pxa_clk)
+			continue;
 		pxa_clk->is_in_low_power = clks[i].is_in_low_power;
 		pxa_clk->lp = clks[i].lp;
 		pxa_clk->hp = clks[i].hp;
--
Re: [PATCH] clk: pxa: add a check for the return value of kzalloc()
Posted by Stephen Boyd 4 years, 2 months ago
Quoting xkernel.wang@foxmail.com (2022-03-25 03:27:20)
> From: Xiaoke Wang <xkernel.wang@foxmail.com>
> 
> kzalloc() is a memory allocation function which can return NULL when
> some internal memory errors happen. So it is better to check it to
> prevent potential wrong memory access.
> 
> Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
> ---
>  drivers/clk/pxa/clk-pxa.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/clk/pxa/clk-pxa.c b/drivers/clk/pxa/clk-pxa.c
> index cfc79f9..d0df104 100644
> --- a/drivers/clk/pxa/clk-pxa.c
> +++ b/drivers/clk/pxa/clk-pxa.c
> @@ -102,6 +102,8 @@ int __init clk_pxa_cken_init(const struct desc_clk_cken *clks, int nb_clks)
>  
>         for (i = 0; i < nb_clks; i++) {
>                 pxa_clk = kzalloc(sizeof(*pxa_clk), GFP_KERNEL);
> +               if (!pxa_clk)
> +                       continue;

Shouldn't we stop trying to allocate more and return an error?