[PATCH v2 11/13] drm/modes: parse_cmdline: Explicitly memset the passed in drm_cmdline_mode struct

Maxime Ripard mripard at kernel.org
Mon Nov 18 12:28:16 UTC 2019


On Wed, Nov 13, 2019 at 05:44:32PM +0100, Hans de Goede wrote:
> 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()
>
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  drivers/gpu/drm/drm_modes.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index beb764efe6b3..1fee4a71eff7 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -1745,12 +1745,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;

The reported error by kbuild rings a bell. I think I tried to do this,
saw that error, and then forgot about it.

Looking more at the code now, I don't see any in bochs that looks
really wrong. Either way, we should either fix bochs, or add a
unit-test to have a test for the bochs case so that we don't have that
issue sneaking around.

(btw, thanks for adding more tests, that's really appreciated)

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20191118/09b41c6a/attachment.sig>


More information about the dri-devel mailing list