[PATCH v2 1/7] drm/amdgpu: Use drm_mode_init() for on-stack modes

Alex Deucher alexdeucher at gmail.com
Thu Nov 10 15:27:00 UTC 2022


On Mon, Nov 7, 2022 at 2:26 PM Ville Syrjala
<ville.syrjala at linux.intel.com> wrote:
>
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Initialize on-stack modes with drm_mode_init() to guarantee
> no stack garbage in the list head, or that we aren't copying
> over another mode's list head.
>
> Based on the following cocci script, with manual fixups:
> @decl@
> identifier M;
> expression E;
> @@
> - struct drm_display_mode M = E;
> + struct drm_display_mode M;
>
> @@
> identifier decl.M;
> expression decl.E;
> statement S, S1;
> @@
> struct drm_display_mode M;
> ... when != S
> + drm_mode_init(&M, &E);
> +
> S1
>
> @@
> expression decl.E;
> @@
> - &*E
> + E
>
> Cc: Harry Wentland <harry.wentland at amd.com>
> Cc: Leo Li <sunpeng.li at amd.com>
> Cc: Rodrigo Siqueira <Rodrigo.Siqueira at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: amd-gfx at lists.freedesktop.org
> Reviewed-by: Harry Wentland <harry.wentland at amd.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Applied.  Thanks!

Alex

> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index d9940a3c64dd..7fa4b61bc5bf 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -5685,7 +5685,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
>         const struct drm_connector_state *con_state =
>                 dm_state ? &dm_state->base : NULL;
>         struct dc_stream_state *stream = NULL;
> -       struct drm_display_mode mode = *drm_mode;
> +       struct drm_display_mode mode;
>         struct drm_display_mode saved_mode;
>         struct drm_display_mode *freesync_mode = NULL;
>         bool native_mode_found = false;
> @@ -5699,6 +5699,7 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
>
>         struct dc_sink *sink = NULL;
>
> +       drm_mode_init(&mode, drm_mode);
>         memset(&saved_mode, 0, sizeof(saved_mode));
>
>         if (aconnector == NULL) {
> --
> 2.37.4
>


More information about the dri-devel mailing list