Hi! Dne torek, 27. avgust 2019 ob 13:58:49 CEST je Maxime Ripard napisal(a): > From: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > > The named modes support has introduced a number of glitches that were in > part due to the fact that the parser will take any string as a named mode. > > Since we shouldn't have a lot of options there (and they should be pretty > standard), let's introduce a whitelist of the available named modes so that > the kernel can differentiate between a poorly formed command line and a > named mode. > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxx> > --- > drivers/gpu/drm/drm_modes.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c > index ea7e6c8c8318..988797d8080a 100644 > --- a/drivers/gpu/drm/drm_modes.c > +++ b/drivers/gpu/drm/drm_modes.c > @@ -1677,6 +1677,22 @@ static int drm_mode_parse_cmdline_options(char *str, > size_t len, return 0; > } > > +const char *drm_named_modes_whitelist[] = { > + "NTSC", > + "PAL", > +}; That array should be static. With that fixed: Reviewed-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx> Best regards, Jernej > + > +static bool drm_named_mode_is_in_whitelist(const char *mode, unsigned int > size) +{ > + int i; > + > + for (i = 0; i < ARRAY_SIZE(drm_named_modes_whitelist); i++) > + if (!strncmp(mode, drm_named_modes_whitelist[i], size)) > + return true; > + > + return false; > +} > + > /** > * drm_mode_parse_command_line_for_connector - parse command line modeline > for connector * @mode_option: optional per connector mode option > @@ -1794,6 +1810,10 @@ bool drm_mode_parse_command_line_for_connector(const > char *mode_option, if (named_mode) { > if (mode_end + 1 > DRM_DISPLAY_MODE_LEN) > return false; > + > + if (!drm_named_mode_is_in_whitelist(name, mode_end)) > + return false; > + > strscpy(mode->name, name, mode_end + 1); > } else { > ret = drm_mode_parse_cmdline_res_mode(name, mode_end, _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel