Re: loop in crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- Original Message -----
>
> So I don't understand how you got into a loop unless the kmem_cache list
> walk-through is the real problem.  If you were to print out the "cache"
> address each time through the do-while loop, does the list start repeating
> itself?
> 
> And if that's true, perhaps the kmem_cache_init() should use the
> hq_open()/hq_enter()/hq_close() facility on each cache address to
> catch a duplicate (false) entry.
> 
> Dave

As a side issue, you have pinpointed a potential problem
area if the first readmem() does fail, because in that case it
should "continue" instead of using the invalid "shared" value
in the second readmem():  
 
                        if (readmem(start_address[i] + OFFSET(kmem_list3_shared),
                            KVADDR, &shared, sizeof(void *),
                            "kmem_list3 shared", RETURN_ON_ERROR|QUIET)) {
                                if (!shared)
                                        break;
                        }
                        if (readmem(shared + OFFSET(array_cache_limit),
                            KVADDR, &limit, sizeof(int), "shared array_cache limit",
                            RETURN_ON_ERROR|QUIET)) {
                                if (limit > max_limit)
                                        max_limit = limit;
                                break;
                        }

But again, I don't see that having anything to do with your problem.
And in all practical circumstances, that first readmem() should
never fail, even though it is allowable.

I'll fix that...

Dave

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility


[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux