From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Maxime Ripard <maxime.ripard@bootlin.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Jonathan Hunter <jonathanh@nvidia.com>,
David Airlie <airlied@linux.ie>,
Thierry Reding <thierry.reding@gmail.com>,
linux-tegra@vger.kernel.org, Sean Paul <sean@poorly.run>
Subject: Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
Date: Wed, 10 Jul 2019 13:00:00 +0300 [thread overview]
Message-ID: <20190710100000.GZ5942@intel.com> (raw)
In-Reply-To: <20190709145151.23086-1-digetx@gmail.com>
On Tue, Jul 09, 2019 at 05:51:51PM +0300, Dmitry Osipenko wrote:
> The named mode could be invalid and then cmdline parser misses to validate
> mode's dimensions, happily adding 0x0 mode as a valid mode. One case where
> this happens is NVIDIA Tegra devices that are using downstream bootloader
> which adds "video=tegrafb" to the kernel's cmdline and thus upstream Tegra
> DRM driver fails to probe because of the invalid mode.
>
> Fixes: 3aeeb13d8996 ("drm/modes: Support modes names on the command line")
Is that actually true? This problem has been in the code since forever AFAICS.
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
> drivers/gpu/drm/drm_client_modeset.c | 3 ++-
> drivers/gpu/drm/drm_modes.c | 6 ++++++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> index e95fceac8f8b..56d36779d213 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -180,7 +180,8 @@ drm_connector_pick_cmdline_mode(struct drm_connector *connector)
>
> create_mode:
> mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
> - list_add(&mode->head, &connector->modes);
> + if (mode)
> + list_add(&mode->head, &connector->modes);
That's the same as what I did here
https://patchwork.freedesktop.org/patch/309223/?series=61781&rev=1
But I'd have to rebase that so let's just go with your patch.
>
> return mode;
> }
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 910561d4f071..74a5739df506 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -158,6 +158,9 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
> int interlace;
> u64 tmp;
>
> + if (!hdisplay || !vdisplay)
> + return NULL;
> +
> /* allocate the drm_display_mode structure. If failure, we will
> * return directly
> */
> @@ -392,6 +395,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
> int hsync, hfront_porch, vodd_front_porch_lines;
> unsigned int tmp1, tmp2;
>
> + if (!hdisplay || !vdisplay)
> + return NULL;
> +
These lgtm
Patch is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> drm_mode = drm_mode_create(dev);
> if (!drm_mode)
> return NULL;
> --
> 2.22.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
Intel
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Dmitry Osipenko <digetx@gmail.com>
Cc: Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Sean Paul <sean@poorly.run>, Daniel Vetter <daniel@ffwll.ch>,
David Airlie <airlied@linux.ie>,
linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v1] drm/modes: Skip invalid cmdline mode
Date: Wed, 10 Jul 2019 13:00:00 +0300 [thread overview]
Message-ID: <20190710100000.GZ5942@intel.com> (raw)
In-Reply-To: <20190709145151.23086-1-digetx@gmail.com>
On Tue, Jul 09, 2019 at 05:51:51PM +0300, Dmitry Osipenko wrote:
> The named mode could be invalid and then cmdline parser misses to validate
> mode's dimensions, happily adding 0x0 mode as a valid mode. One case where
> this happens is NVIDIA Tegra devices that are using downstream bootloader
> which adds "video=tegrafb" to the kernel's cmdline and thus upstream Tegra
> DRM driver fails to probe because of the invalid mode.
>
> Fixes: 3aeeb13d8996 ("drm/modes: Support modes names on the command line")
Is that actually true? This problem has been in the code since forever AFAICS.
> Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
> ---
> drivers/gpu/drm/drm_client_modeset.c | 3 ++-
> drivers/gpu/drm/drm_modes.c | 6 ++++++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_client_modeset.c b/drivers/gpu/drm/drm_client_modeset.c
> index e95fceac8f8b..56d36779d213 100644
> --- a/drivers/gpu/drm/drm_client_modeset.c
> +++ b/drivers/gpu/drm/drm_client_modeset.c
> @@ -180,7 +180,8 @@ drm_connector_pick_cmdline_mode(struct drm_connector *connector)
>
> create_mode:
> mode = drm_mode_create_from_cmdline_mode(connector->dev, cmdline_mode);
> - list_add(&mode->head, &connector->modes);
> + if (mode)
> + list_add(&mode->head, &connector->modes);
That's the same as what I did here
https://patchwork.freedesktop.org/patch/309223/?series=61781&rev=1
But I'd have to rebase that so let's just go with your patch.
>
> return mode;
> }
> diff --git a/drivers/gpu/drm/drm_modes.c b/drivers/gpu/drm/drm_modes.c
> index 910561d4f071..74a5739df506 100644
> --- a/drivers/gpu/drm/drm_modes.c
> +++ b/drivers/gpu/drm/drm_modes.c
> @@ -158,6 +158,9 @@ struct drm_display_mode *drm_cvt_mode(struct drm_device *dev, int hdisplay,
> int interlace;
> u64 tmp;
>
> + if (!hdisplay || !vdisplay)
> + return NULL;
> +
> /* allocate the drm_display_mode structure. If failure, we will
> * return directly
> */
> @@ -392,6 +395,9 @@ drm_gtf_mode_complex(struct drm_device *dev, int hdisplay, int vdisplay,
> int hsync, hfront_porch, vodd_front_porch_lines;
> unsigned int tmp1, tmp2;
>
> + if (!hdisplay || !vdisplay)
> + return NULL;
> +
These lgtm
Patch is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> drm_mode = drm_mode_create(dev);
> if (!drm_mode)
> return NULL;
> --
> 2.22.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2019-07-10 10:00 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-09 14:51 [PATCH v1] drm/modes: Skip invalid cmdline mode Dmitry Osipenko
2019-07-10 10:00 ` Ville Syrjälä [this message]
2019-07-10 10:00 ` Ville Syrjälä
2019-07-10 14:03 ` Dmitry Osipenko
2019-07-10 10:12 ` Maxime Ripard
2019-07-10 10:12 ` Maxime Ripard
2019-07-10 12:42 ` Dmitry Osipenko
2019-07-10 12:55 ` Maxime Ripard
2019-07-10 12:55 ` Maxime Ripard
2019-07-10 12:59 ` Dmitry Osipenko
2019-07-10 13:06 ` Maxime Ripard
2019-07-10 13:11 ` Dmitry Osipenko
2019-07-10 13:29 ` Dmitry Osipenko
2019-07-10 13:36 ` Dmitry Osipenko
2019-07-10 14:05 ` Maxime Ripard
2019-07-10 15:05 ` Dmitry Osipenko
2019-07-10 15:45 ` Dmitry Osipenko
2019-07-10 16:03 ` Dmitry Osipenko
2019-07-11 9:03 ` Maxime Ripard
2019-07-11 9:03 ` Maxime Ripard
2019-07-11 15:55 ` Dmitry Osipenko
2019-07-12 8:10 ` Maxime Ripard
2019-07-12 8:30 ` Dmitry Osipenko
2019-07-12 19:53 ` Maxime Ripard
2019-07-13 16:41 ` Dmitry Osipenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190710100000.GZ5942@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=airlied@linux.ie \
--cc=digetx@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jonathanh@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=maxime.ripard@bootlin.com \
--cc=sean@poorly.run \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.