[PATCH] drm/mm: fix dump table BUG

Daniel Vetter daniel.vetter at ffwll.ch
Sat Apr 20 04:28:53 PDT 2013


On Sat, Apr 20, 2013 at 12:11 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Sat, Apr 20, 2013 at 12:08:11PM +0200, Daniel Vetter wrote:
>> In
>>
>> commit 9e8944ab564f2e3dde90a518cd32048c58918608
>> Author: Chris Wilson <chris at chris-wilson.co.uk>
>> Date:   Thu Nov 15 11:32:17 2012 +0000
>>
>>     drm: Introduce an iterator over holes in the drm_mm range manager
>>
>> helpers and iterators for hole handling have been introduced with some
>> debug BUG_ONs sprinkled over. Unfortunately this broke the mm dumper
>> which unconditionally tried to compute the size of the very first
>> hole.
>>
>> Reported-by: Christopher Harvey <charvey at matrox.com>
>> Cc: Christopher Harvey <charvey at matrox.com>
>> Cc: Dave Airlie <airlied at redhat.com>
>> Cc: Chris Wilson <chris at chris-wilson.co.uk>
>> Cc: stable at vger.kernel.org
>> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>> ---
>>  drivers/gpu/drm/drm_mm.c |   11 ++++++-----
>>  1 file changed, 6 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
>> index db1e2d6..a0ba3a1 100644
>> --- a/drivers/gpu/drm/drm_mm.c
>> +++ b/drivers/gpu/drm/drm_mm.c
>> @@ -759,14 +759,15 @@ int drm_mm_dump_table(struct seq_file *m, struct drm_mm *mm)
>>  {
>>       struct drm_mm_node *entry;
>>       unsigned long total_used = 0, total_free = 0, total = 0;
>> -     unsigned long hole_start, hole_end, hole_size;
>> +     unsigned long hole_start, hole_end, hole_size = 0;
>>
>> -     hole_start = drm_mm_hole_node_start(&mm->head_node);
>> -     hole_end = drm_mm_hole_node_end(&mm->head_node);
>
> Use __drm_mm_hole_node_start and __drm_mm_hole_node_end instead.

I've figured I could make the condition more symmetric with the one in
the loop, so that both check ->hole_follows.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list