Subject: Re: linux-next: build failure after merge of the drm-misc tree

From: Christian König <[email-masked]>
Date: Mon, 26 Feb 2024 13:56:21 +0100

Am 25.02.24 um 22:47 schrieb Stephen Rothwell:
> Hi all,
>
> On Mon, 26 Feb 2024 08:41:16 +1100 Stephen Rothwell <[email-masked]> wrote:
>> On Tue, 20 Feb 2024 08:48:21 +1100 Stephen Rothwell <[email-masked]> wrote:
>>> On Mon, 12 Feb 2024 15:15:54 +0200 Jani Nikula <[email-masked]> wrote:
>>>> On Tue, 06 Feb 2024, Stephen Rothwell <[email-masked]> wrote:
>>>>> After merging the drm-misc tree, today's linux-next build (i386 defconfig)
>>>>> failed like this:
>>>>>
>>>>> In function 'i915_ttm_placement_from_obj',
>>>>>      inlined from 'i915_ttm_get_pages' at drivers/gpu/drm/i915/gem/i915_gem_ttm.c:847:2:
>>>>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:165:18: error: 'places[0].flags' is used uninitialized [-Werror=uninitialized]
>>>>>    165 |         places[0].flags |= TTM_PL_FLAG_DESIRED;
>>>>>        |         ~~~~~~~~~^~~~~~
>>>>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c: In function 'i915_ttm_get_pages':
>>>>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:837:26: note: 'places' declared here
>>>>>    837 |         struct ttm_place places[I915_TTM_MAX_PLACEMENTS + 1];
>>>>>        |                          ^~~~~~
>>>>>
>>>>> Caused by commit
>>>>>
>>>>>    a78a8da51b36 ("drm/ttm: replace busy placement with flags v6")
>>>> Cc: more people.
>>>>      
>>>>> I applied the following hack for today:
>>>>>
>>>>> From: Stephen Rothwell <[email-masked]>
>>>>> Date: Tue, 6 Feb 2024 15:17:54 +1100
>>>>> Subject: [PATCH] drm/ttm: initialise places
>>>>>
>>>>> Signed-off-by: Stephen Rothwell <[email-masked]>
>>>>> ---
>>>>>   drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 2 +-
>>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>>>>> index 80c6cafc8887..34e699e67c25 100644
>>>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>>>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c
>>>>> @@ -834,7 +834,7 @@ static int __i915_ttm_get_pages(struct drm_i915_gem_object *obj,
>>>>>   
>>>>>   static int i915_ttm_get_pages(struct drm_i915_gem_object *obj)
>>>>>   {
>>>>> -	struct ttm_place places[I915_TTM_MAX_PLACEMENTS + 1];
>>>>> +	struct ttm_place places[I915_TTM_MAX_PLACEMENTS + 1] = {};
>>>>>   	struct ttm_placement placement;
>>>>>   
>>>>>   	/* restricted by sg_alloc_table */
>>>>> -- 
>>>>> 2.43.0
>>> I am still applying the above patch ...
>> Any progress?
> And this commit is now in the drm tree.

Sorry for the delay. Oring in the flag needs to come after the call and 
not before it.

Going to fix this.

Thanks,
Christian.