[lvc-project] [PATCH] [media] tda18271: add missing result checking of tda18271_lookup_map()
Fedor Pchelkin
pchelkin at ispras.ru
Fri Mar 15 14:40:28 MSK 2024
On Fri, 16. Feb 19:01, Karina Yankevich wrote:
> tda18271_lookup_map() may return negative error code, but
> tda18271c2_rf_tracking_filters_correction() doesn't check it
> as the other callers.
>
> Found by Linux Verification Center (linuxtesting.org) with the Svace static
> analysis tool.
>
> Signed-off-by: Karina Yankevich <k.yankevich at omp.ru>
Добрый день!
Если патч исправляет ошибку в коде и известен коммит, ее внесший, то лучше
снабжать патч тегом `Fixes:`. Это поможет определить, для каких стабильных
веток этот патч актуален.
В данном случае, полагаю, проверка отсутствует с давнего коммита
255b5113b4ed ("V4L/DVB (6960): tda18271: add support for NXP TDA18271HD/C2").
С патчем согласен. Как минимум, если указанная функция возвращает ошибку,
то значение dc_over_dt не определено.
Добавлено в ветки linux-5.10-lvc-next и linux-6.1-lvc-next.
В публичной linux-5.10-lvc [1] появится при выходе ближайшего релиза.
Спасибо!
[1]: https://git.linuxtesting.ru/pub/scm/linux/kernel/git/lvc/linux-stable.git/log/
> ---
> drivers/media/tuners/tda18271-fe.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/tuners/tda18271-fe.c b/drivers/media/tuners/tda18271-fe.c
> index f0371d004b36..ff5b22134414 100644
> --- a/drivers/media/tuners/tda18271-fe.c
> +++ b/drivers/media/tuners/tda18271-fe.c
> @@ -279,7 +279,9 @@ static int tda18271c2_rf_tracking_filters_correction(struct dvb_frontend *fe,
> if (approx > 255)
> approx = 255;
>
> - tda18271_lookup_map(fe, RF_CAL_DC_OVER_DT, &freq, &dc_over_dt);
> + ret = tda18271_lookup_map(fe, RF_CAL_DC_OVER_DT, &freq, &dc_over_dt);
> + if (tda_fail(ret))
> + goto fail;
>
> /* calculate temperature compensation */
> rfcal_comp = dc_over_dt * (s32)(tm_current - priv->tm_rfcal) / 1000;
> --
> 2.25.1
>
More information about the lvc-project
mailing list