[lvc-project] [PATCH] crypto: rockchip/rk3288 - Add dereference of NULL pointer check
Мишин Александр Борисович
amishin at t-argos.ru
Sat Mar 16 01:01:35 MSK 2024
Здравствуйте, Федор!
Это был самый первый мой патч, так что, как ни старался, без косяков, увы, не обошлось. В последующих постепенно стараюсь их избегать. Большое спасибо за замечания.
Конкретно по пунктам:
1. По названию - честно говоря, я свой вариант перевел как "добавление проверки на разыменование нулевого указателя". Но с Вашим вариантом согласен, он более полно отражает проблему, поменяю.
2. Про пустые строки Алексей мне уже написал, в последующих патчах (кроме одного) я это учел.
3. По коду возврата - согласен, не учел, исправлю.
Кроме того, в нескольких последующих патчах имеется ошибка с потерей кавычек в теге Fixes, т.е.
Fixes: 4a835afd808a (mmc: dw_mmc: Fix potential null pointer risk)
вместо
Fixes: 4a835afd808a ("mmc: dw_mmc: Fix potential null pointer risk")
Ошибка чисто техническая, но не заметил. Учел.
Касаемо этого патча: я правильно понимаю, что мне необходимо выпустить вторую версию согласно п. "Подготовка второй версии патча" из https://portal.linuxtesting.ru/How-to-send-patches-to-kernel.html?
С уважением,
Мишин Александр
ООО "ТехАргос"
________________________________
От: Fedor Pchelkin <pchelkin at ispras.ru>
Отправлено: 15 марта 2024 г. 22:59
Кому: Мишин Александр Борисович
Копия: lvc-project at linuxtesting.org
Тема: Re: [lvc-project] [PATCH] crypto: rockchip/rk3288 - Add dereference of NULL pointer check
Здравствуйте, Александр!
Название патча я перевожу как "Добавить разыменовывание проверки на нулевой
указатель"?) Стоит его назвать по-другому. Что-то вида "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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://linuxtesting.org/pipermail/lvc-project/attachments/20240315/fabb96cf/attachment.html>
More information about the lvc-project
mailing list