[lvc-project] [PATCH] crypto: rockchip/rk3288 - Add dereference of NULL pointer check

Fedor Pchelkin pchelkin at ispras.ru
Fri Mar 15 22:59:41 MSK 2024


Здравствуйте, Александр!

Название патча я перевожу как "Добавить разыменовывание проверки на нулевой
указатель"?) Стоит его назвать по-другому. Что-то вида "Handle crypto
engine allocation failure".

On Mon, 04. Mar 15:20, Aleksandr Mishin wrote:
> In rk_crypto_probe() crypto_engine_alloc_init() is assigned to
> crypto_info->engine and there is a dereference of it in
> clk_mt2712_top_init_early() which could lead to a NULL pointer
> dereference on failure of crypto_engine_alloc_init().
> 
> Fix this bug by adding a check of crypto_info->engine.
> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Fixes: 57d67c6e8219 ("crypto: rockchip - rework by using crypto_engine")
> 
> Signed-off-by: Aleksandr Mishin <amishin at t-argos.ru>

Пустых строк между тегом Fixes и подписью быть не должно.

> ---
>  drivers/crypto/rockchip/rk3288_crypto.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/crypto/rockchip/rk3288_crypto.c b/drivers/crypto/rockchip/rk3288_crypto.c
> index 70edf40bc523..88cea1e36afa 100644
> --- a/drivers/crypto/rockchip/rk3288_crypto.c
> +++ b/drivers/crypto/rockchip/rk3288_crypto.c
> @@ -371,6 +371,10 @@ static int rk_crypto_probe(struct platform_device *pdev)
>  	}
>  
>  	crypto_info->engine = crypto_engine_alloc_init(&pdev->dev, true);
> +	if (!crypto_info->engine) {
> +		dev_err(&pdev->dev, "memory allocation failed.\n");

Стоит присвоить статус ошибки возвращаемому из probe функции значению.
Здесь подойдет -ENOMEM. Т.к. err изначально нулевой, то функция возвратит
ноль и все будут считать, что она завершилась успешно.

> +		goto err_crypto;
> +	}
>  	crypto_engine_start(crypto_info->engine);
>  	init_completion(&crypto_info->complete);
>  
> -- 
> 2.30.2
> 
> 



More information about the lvc-project mailing list