2020-11-06 00:01:49

by Lyude Paul

[permalink] [raw]
Subject: [PATCH v3] drm/edid: Fix uninitialized variable in drm_cvt_modes()

Noticed this when trying to compile with -Wall on a kernel fork. We potentially
don't set width here, which causes the compiler to complain about width
potentially being uninitialized in drm_cvt_modes(). So, let's fix that.

Changes since v1:
* Don't emit an error as this code isn't reachable, just mark it as such
Changes since v2:
* Remove now unused variable

Signed-off-by: Lyude Paul <[email protected]>

Cc: <[email protected]> # v5.9+
Fixes: 3f649ab728cd ("treewide: Remove uninitialized_var() usage")
Signed-off-by: Lyude Paul <[email protected]>
---
drivers/gpu/drm/drm_edid.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 631125b46e04..b84efd538a70 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3114,6 +3114,8 @@ static int drm_cvt_modes(struct drm_connector *connector,
case 0x0c:
width = height * 15 / 9;
break;
+ default:
+ unreachable();
}

for (j = 1; j < 5; j++) {
--
2.28.0


2020-11-06 00:07:09

by Ilia Mirkin

[permalink] [raw]
Subject: Re: [PATCH v3] drm/edid: Fix uninitialized variable in drm_cvt_modes()

On Thu, Nov 5, 2020 at 6:57 PM Lyude Paul <[email protected]> wrote:
>
> Noticed this when trying to compile with -Wall on a kernel fork. We potentially
> don't set width here, which causes the compiler to complain about width
> potentially being uninitialized in drm_cvt_modes(). So, let's fix that.
>
> Changes since v1:
> * Don't emit an error as this code isn't reachable, just mark it as such
> Changes since v2:
> * Remove now unused variable
>
> Signed-off-by: Lyude Paul <[email protected]>
>
> Cc: <[email protected]> # v5.9+
> Fixes: 3f649ab728cd ("treewide: Remove uninitialized_var() usage")
> Signed-off-by: Lyude Paul <[email protected]>

For the very little it's worth,

Reviewed-by: Ilia Mirkin <[email protected]>

> ---
> drivers/gpu/drm/drm_edid.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 631125b46e04..b84efd538a70 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -3114,6 +3114,8 @@ static int drm_cvt_modes(struct drm_connector *connector,
> case 0x0c:
> width = height * 15 / 9;
> break;
> + default:
> + unreachable();
> }
>
> for (j = 1; j < 5; j++) {
> --
> 2.28.0
>