Message ID | f17221571f619c0829db56354f2b74d22f6702a7.1685893329.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | video: fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe() | expand |
On 6/4/23 17:42, Christophe JAILLET wrote: > If 'mipid_detect()' fails, we must free 'md' to avoid a memory leak. > > Fixes: 66d2f99d0bb5 ("omapfb: add support for MIPI-DCS compatible LCDs") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> applied. Thanks! Helge > --- > drivers/video/fbdev/omap/lcd_mipid.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/video/fbdev/omap/lcd_mipid.c b/drivers/video/fbdev/omap/lcd_mipid.c > index e4a7f0b824ff..a0fc4570403b 100644 > --- a/drivers/video/fbdev/omap/lcd_mipid.c > +++ b/drivers/video/fbdev/omap/lcd_mipid.c > @@ -571,11 +571,15 @@ static int mipid_spi_probe(struct spi_device *spi) > > r = mipid_detect(md); > if (r < 0) > - return r; > + goto free_md; > > omapfb_register_panel(&md->panel); > > return 0; > + > +free_md: > + kfree(md); > + return r; > } > > static void mipid_spi_remove(struct spi_device *spi)
diff --git a/drivers/video/fbdev/omap/lcd_mipid.c b/drivers/video/fbdev/omap/lcd_mipid.c index e4a7f0b824ff..a0fc4570403b 100644 --- a/drivers/video/fbdev/omap/lcd_mipid.c +++ b/drivers/video/fbdev/omap/lcd_mipid.c @@ -571,11 +571,15 @@ static int mipid_spi_probe(struct spi_device *spi) r = mipid_detect(md); if (r < 0) - return r; + goto free_md; omapfb_register_panel(&md->panel); return 0; + +free_md: + kfree(md); + return r; } static void mipid_spi_remove(struct spi_device *spi)
If 'mipid_detect()' fails, we must free 'md' to avoid a memory leak. Fixes: 66d2f99d0bb5 ("omapfb: add support for MIPI-DCS compatible LCDs") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/video/fbdev/omap/lcd_mipid.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)