Re: [PATCH v2 2/2] drm/sun4i: tcon: prevent tcon->panel dereference if null
Hi, Il 04/10/2018 21:56, Maxime Ripard ha scritto: On Wed, Oct 03, 2018 at 04:24:58PM +0200, Giulio Benetti wrote: If using tcon with VGA, We don't have support for VGA at the moment. Or are you talking about using a VGA bridge? You're right, in general VGA is not the point. tcon->panel is retrieved by drm_of_find_panel_or_bridge() and panel can be present or not. tcon->panel will be null(0), this will cause segmentation fault when trying to dereference tcon->panel->connector. It's not a segmentation fault, but a null pointer dereference. And that case will also happen with bridges. Right. Going to improve/rewrite commit logs and submit v2 patchset. Thanks for reviewing. Best regards -- Giulio Benetti CTO MICRONOVA SRL Sede: Via A. Niedda 3 - 35010 Vigonza (PD) Tel. 049/8931563 - Fax 049/8931346 Cod.Fiscale - P.IVA 02663420285 Capitale Sociale € 26.000 i.v. Iscritta al Reg. Imprese di Padova N. 02663420285 Numero R.E.A. 258642 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH v2 2/2] drm/sun4i: tcon: prevent tcon->panel dereference if null
On Wed, Oct 03, 2018 at 04:24:58PM +0200, Giulio Benetti wrote: > If using tcon with VGA, We don't have support for VGA at the moment. Or are you talking about using a VGA bridge? > tcon->panel will be null(0), this will cause segmentation fault when > trying to dereference tcon->panel->connector. It's not a segmentation fault, but a null pointer dereference. And that case will also happen with bridges. Maxime -- Maxime Ripard, Bootlin Embedded Linux and Kernel engineering https://bootlin.com signature.asc Description: PGP signature ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH v2 2/2] drm/sun4i: tcon: prevent tcon->panel dereference if null
If using tcon with VGA, tcon->panel will be null(0), this will cause segmentation fault when trying to dereference tcon->panel->connector. Add tcon->panel null check before calling sun4i_tcon0_mode_set_dithering(). Signed-off-by: Giulio Benetti Fixes: f11adcecbd5f ("drm/sun4i: tcon: Add dithering support for RGB565/RGB666 LCD panels") Reviewed-by: Chen-Yu Tsai --- Changes V1->V2: * none drivers/gpu/drm/sun4i/sun4i_tcon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c index e4b3bd0307ef..f949287d926c 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c @@ -491,7 +491,8 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon, sun4i_tcon0_mode_set_common(tcon, mode); /* Set dithering if needed */ - sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector); + if (tcon->panel) + sun4i_tcon0_mode_set_dithering(tcon, tcon->panel->connector); /* Adjust clock delay */ clk_delay = sun4i_tcon_get_clk_delay(mode, 0); -- 2.17.1 ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel