drm/modes: parse_cmdline: Explicitly memset the passed in drm_cmdline_mode struct
authorHans de Goede <hdegoede@redhat.com>
Mon, 18 Nov 2019 15:51:32 +0000 (16:51 +0100)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:29 +0000 (16:33 +0100)
Commit d1fe276b5115f0d581c3cfe6154633b3547e8aab upstream.

Instead of only setting mode->specified on false on an early exit and
leaving e.g. mode->bpp_specified and mode->refresh_specified as is,
lets be consistent and just zero out the entire passed in struct at
the top of drm_mode_parse_command_line_for_connector()

Changes in v3:
-Drop "mode->specified = false;" line instead of the "return false;" (oops)
 This crasher was reported-by: kernel test robot <lkp@intel.com>

Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-11-hdegoede@redhat.com
drivers/gpu/drm/drm_modes.c

index 9914961..afc0ee9 100644 (file)
@@ -1752,12 +1752,11 @@ bool drm_mode_parse_command_line_for_connector(const char *mode_option,
        char *bpp_end_ptr = NULL, *refresh_end_ptr = NULL;
        int i, len, ret;
 
+       memset(mode, 0, sizeof(*mode));
        mode->panel_orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
 
-       if (!mode_option) {
-               mode->specified = false;
+       if (!mode_option)
                return false;
-       }
 
        name = mode_option;