Hi Dave

I found a problem in arm.c that arm_get_crash_notes() is called too early. This 
has never been a problem until now.

arm_get_crash_notes() in arm.c
calls readmem(, KVADDR, )
which calls kvtop()
which calls machdep->kvtop that is arm_kvtop
    which uses vt->vmalloc_start
    vt->vmalloc_start is initialized in vm_init

>From main_loop:
      machdep_init(POST_GDB);
      vm_init();
      machdep_init(POST_VM);

arm_get_crash_notes() is currently called in the POST_GDB section of 
machdep_init, but should be moved to the POST_VM section. I put the comment and 
the code just before:

      if (init_unwind_tables()) {

and then it works fine. Without this fix the crash registers might be read from 
the wrong physical address.

Jan

Jan Karlsson
Senior Software Engineer
MIB

Sony Mobile Communications
Tel: +46703062174
sonymobile.com<http://sonymobile.com/>

[cid:[email protected]]

<<inline: image001.jpg>>

--
Crash-utility mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/crash-utility

Reply via email to