diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0478-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0478-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0478-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch b/target/linux/bcm27xx/patches-5.4/950-0478-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch new file mode 100644 index 0000000000..372cd0d665 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0478-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch @@ -0,0 +1,41 @@ +From d89b3f22cf7b6bba8081f6d16c9087019fdcf586 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Mon, 18 Nov 2019 16:51:32 +0100 +Subject: [PATCH] drm/modes: parse_cmdline: Explicitly memset the + passed in drm_cmdline_mode struct + +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 | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/drivers/gpu/drm/drm_modes.c ++++ b/drivers/gpu/drm/drm_modes.c +@@ -1752,12 +1752,11 @@ bool drm_mode_parse_command_line_for_con + 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; + |