2018-04-24 13:55:01

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] drm/i915/selftests: Fix uninitialized variable

There is a potential execution path in which variable err is
returned without being properly initialized previously.

Fix this by initializing variable err to 0.

Addresses-Coverity-ID: 1468362 ("Uninitialized scalar variable")
Fixes: f4ecfbfc32ed ("drm/i915: Check whitelist registers across resets")
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
drivers/gpu/drm/i915/selftests/intel_workarounds.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/selftests/intel_workarounds.c b/drivers/gpu/drm/i915/selftests/intel_workarounds.c
index 5455b26..17444a3 100644
--- a/drivers/gpu/drm/i915/selftests/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/selftests/intel_workarounds.c
@@ -239,7 +239,7 @@ static int live_reset_whitelist(void *arg)
struct intel_engine_cs *engine = i915->engine[RCS];
struct i915_gpu_error *error = &i915->gpu_error;
struct whitelist w;
- int err;
+ int err = 0;

/* If we reset the gpu, we should not lose the RING_NONPRIV */

--
2.7.4



2018-04-24 13:40:02

by Chris Wilson

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/selftests: Fix uninitialized variable

Quoting Gustavo A. R. Silva (2018-04-24 14:30:58)
>
>
> On 04/24/2018 08:22 AM, Chris Wilson wrote:
> > Quoting Gustavo A. R. Silva (2018-04-24 14:15:45)
> >> There is a potential execution path in which variable err is
> >> returned without being properly initialized previously.
> >>
> >> Fix this by initializing variable err to 0.
> >
> > err is only returned along an error path, returning 0 would not be
> > useful. Which path? All the error paths look correct to me.
> > -Chris
> >
>
> If the following two conditions take the false branch then the function
> returns err with a random stack value:


It would help if I read the right function. Ok,
Reviewed-by: Chris Wilson <[email protected]>
-Chris

2018-04-24 14:38:55

by Chris Wilson

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/selftests: Fix uninitialized variable

Quoting Gustavo A. R. Silva (2018-04-24 14:15:45)
> There is a potential execution path in which variable err is
> returned without being properly initialized previously.
>
> Fix this by initializing variable err to 0.

err is only returned along an error path, returning 0 would not be
useful. Which path? All the error paths look correct to me.
-Chris

2018-04-24 14:39:40

by Gustavo A. R. Silva

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/selftests: Fix uninitialized variable



On 04/24/2018 08:22 AM, Chris Wilson wrote:
> Quoting Gustavo A. R. Silva (2018-04-24 14:15:45)
>> There is a potential execution path in which variable err is
>> returned without being properly initialized previously.
>>
>> Fix this by initializing variable err to 0.
>
> err is only returned along an error path, returning 0 would not be
> useful. Which path? All the error paths look correct to me.
> -Chris
>

If the following two conditions take the false branch then the function
returns err with a random stack value:

if (intel_has_reset_engine(i915)) {
...
}

if (intel_has_gpu_reset(i915)) {
...
}

Thanks
--
Gustavo