diff mbox series

[v3] drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow

Message ID 20230608012443.839372-1-suhui@nfschina.com (mailing list archive)
State New, archived
Headers show
Series [v3] drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow | expand

Commit Message

Su Hui June 8, 2023, 1:24 a.m. UTC
Smatch error:buffer overflow 'ti_sn_bridge_refclk_lut' 5 <= 5.

Fixes: cea86c5bb442 ("drm/bridge: ti-sn65dsi86: Implement the pwm_chip")
Signed-off-by: Su Hui <suhui@nfschina.com>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Doug Anderson June 8, 2023, 3:15 p.m. UTC | #1
Hi,

On Wed, Jun 7, 2023 at 6:25 PM Su Hui <suhui@nfschina.com> wrote:
>
> Smatch error:buffer overflow 'ti_sn_bridge_refclk_lut' 5 <= 5.
>
> Fixes: cea86c5bb442 ("drm/bridge: ti-sn65dsi86: Implement the pwm_chip")
> Signed-off-by: Su Hui <suhui@nfschina.com>
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> index 7a748785c545..4676cf2900df 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> @@ -298,6 +298,10 @@ static void ti_sn_bridge_set_refclk_freq(struct ti_sn65dsi86 *pdata)
>                 if (refclk_lut[i] == refclk_rate)
>                         break;
>
> +       /* avoid buffer overflow and "1" is the default rate in the datasheet. */
> +       if (i >= refclk_lut_size)
> +               i = 1;
> +

Looks great now, thanks!

Reviewed-by: Douglas Anderson <dianders@chromium.org>

Unless someone beats me to it or objects, I'll plan to commit this to
drm-misc-fixes early next week.

-Doug
Doug Anderson June 13, 2023, 6:09 p.m. UTC | #2
Hi,

On Thu, Jun 8, 2023 at 8:15 AM Doug Anderson <dianders@chromium.org> wrote:
>
> Hi,
>
> On Wed, Jun 7, 2023 at 6:25 PM Su Hui <suhui@nfschina.com> wrote:
> >
> > Smatch error:buffer overflow 'ti_sn_bridge_refclk_lut' 5 <= 5.
> >
> > Fixes: cea86c5bb442 ("drm/bridge: ti-sn65dsi86: Implement the pwm_chip")
> > Signed-off-by: Su Hui <suhui@nfschina.com>
> > ---
> >  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > index 7a748785c545..4676cf2900df 100644
> > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
> > @@ -298,6 +298,10 @@ static void ti_sn_bridge_set_refclk_freq(struct ti_sn65dsi86 *pdata)
> >                 if (refclk_lut[i] == refclk_rate)
> >                         break;
> >
> > +       /* avoid buffer overflow and "1" is the default rate in the datasheet. */
> > +       if (i >= refclk_lut_size)
> > +               i = 1;
> > +
>
> Looks great now, thanks!
>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
>
> Unless someone beats me to it or objects, I'll plan to commit this to
> drm-misc-fixes early next week.

Pushed to drm-misc-fixes:

95011f267c44 drm/bridge: ti-sn65dsi86: Avoid possible buffer overflow
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index 7a748785c545..4676cf2900df 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -298,6 +298,10 @@  static void ti_sn_bridge_set_refclk_freq(struct ti_sn65dsi86 *pdata)
 		if (refclk_lut[i] == refclk_rate)
 			break;
 
+	/* avoid buffer overflow and "1" is the default rate in the datasheet. */
+	if (i >= refclk_lut_size)
+		i = 1;
+
 	regmap_update_bits(pdata->regmap, SN_DPPLL_SRC_REG, REFCLK_FREQ_MASK,
 			   REFCLK_FREQ(i));