[lvc-project] [PATCH] drm/amd/display: Remove unused-but-set variable hubp from

Марков Глеб Игоревич markov.gi at npc-ksb.ru
Tue Jun 30 13:28:40 MSK 2026


Вторник, Июнь 30, 2026 13:18 MSK, Марков Глеб Игоревич <markov.gi at npc-ksb.ru> писал(а):

> Вторник, Июнь 30, 2026 11:58 MSK, Fedor Pchelkin <pchelkin at ispras.ru> писал(а):
> 
> > On Tue, 30. Jun 11:29, Марков Глеб Игоревич wrote:
> > > Предложение об удалении *hubp1 и *hubp2 вижу нецелесообразным, поскольку вызов 
> > > container_of() предполагает наличие уже валидного, переданного в качестве аргумента в метод
> > > hubp1_is_flip_pending(), то именно наличие макроса TO_DCN10_HUBP() делает проверку на NULL
> > > нелогичной.
> > > В таком случае необходимо избавиться от 2-х проверок на NULL вместо одной (по логике отработки).
> > > Если вы согласны, то патч с предлагаемым исправлением будет отправлен после вашего ответа.
> > 
> > Хотелось бы увидеть патч в lvc-patches at linuxtesting.org.
> 
> Столкнулся с крайне странной ситуацией. Ранее размеченное срабатывание с версией v6.1.164-lvc47
> содержало в себе избыточную проверку, однако, в репозитории она отсутствует, как отсутствовала
> ранее для версий v6.0, v6.1, v6.2-rc1 компонента.
> Предлагаемые изменения были приняты? Если так, то смущает статус и ответ системы о конфликтующих
> патчах, а также отсутствие информации о последнем изменении в репозитории (прошлое было 9 лет назад).
> На момент подготовки исправлений проверка существовала, в противном случае ранее отправленный
> вам патч на обсуждение его бы не содержал.
> 
> Ссылка на срабатывание: https://lvc-svacer.ispras.ru/r/d91pas1r8jqfi96ogf70
> Ссылка на v6.0: https://github.com/torvalds/linux/blob/4fe89d07dcc2804c8b562f6c7896a45643d34b2f/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c#L752
> Ссылка на v6.1: https://github.com/torvalds/linux/blob/830b3c68c1fb1e9176028d02ef86f3cf76aa2476/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c#L752
> Ссылка на v6.2-rc1: https://github.com/torvalds/linux/blob/1b929c02afd37871d5afb9d498426f83432e71c2/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hubp.c#L752
> 
> Содержание прошлых писем:
> 
> >From: Gleb Markov <markov.gi at npc-ksb.ru>
> >
> >The final check of hubp for NULL covers all remaining lines of code,
> >since the value of hubp does not change until the end of the method.
> >
> >If the *hubp1 pointer was NULL, then the program crash even at the
> >moment of accessing macros, otherwise the check is redundant.
> >
> >Remove the left part of the expression with the logical "&&".
> >
> >Found by Linux Verification Center (linuxtesting.org) with SVACE.
> >
> >Fixes: be1fb44389ca ("drm/amd/display: Check null pointers before used").
> >Signed-off-by: Gleb Markov <markov.gi at npc-ksb.ru>
> >---
> > drivers/gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c | 3 +--
> > 1 file changed, 1 insertion(+), 2 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c b/drivers/gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c
> >index 7c97a774141f..d8eb5996b577 100644
> >--- a/drivers/gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c
> >+++ b/drivers/gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c
> >@@ -772,8 +772,7 @@ bool hubp1_is_flip_pending(struct hubp *hubp)
> > 	if (flip_pending)
> > 		return true;
> > 
> >-	if (hubp &&
> >-	    earliest_inuse_address.grph.addr.quad_part != hubp->request_address.grph.addr.quad_part)
> >+	if (earliest_inuse_address.grph.addr.quad_part != hubp->request_address.grph.addr.quad_part)
> > 		return true;
> > 
> > 	return false;
> >-- 
> >2.43.0
> 
> а также
> 
> >Весьма абстрактное название патча, делайте его пожалуйста чуть более
> >конкретизированным.  Да, это иногда бывает непросто, но придумывание
> >точного и чёткого названия для коммита в больших опенсорс проектах того
> >стоит.
> >
> >On Mon, 25. May 15:43, Markov Gleb wrote:
> > > From: Gleb Markov <markov.gi at npc-ksb.ru>
> > > 
> > > The final check of hubp for NULL covers all remaining lines of code,
> > > since the value of hubp does not change until the end of the method.
> > > 
> > > If the *hubp1 pointer was NULL, then the program crash even at the
> > > moment of accessing macros, otherwise the check is redundant.
> > > 
> > > Remove the left part of the expression with the logical "&&".
> > > 
> > > Found by Linux Verification Center (linuxtesting.org) with SVACE.
> > > 
> > > Fixes: be1fb44389ca ("drm/amd/display: Check null pointers before used").
> > > Signed-off-by: Gleb Markov <markov.gi at npc-ksb.ru>
> >
> > Возможно более подходящим решением будет удаление unused-but-set variable
> >struct dcn10_hubp *hubp1 и struct dcn10_hubp *hubp2 из функций
> >hubp1_is_flip_pending() и hubp2_is_flip_pending() соответственно.
> 
> Прошу прощения если чего-то очевидного не понимаю, но пока разобраться не могу.

Проверки были добавлены коммитом ( be1fb44389ca ), что соответствует версии v6.12
В свейсере некорректно отображается версия компонента на момент возникновения срабатывания.
Вопрос снят




More information about the lvc-project mailing list