[Crash-utility] ARM: crash registers might be read from the wrong physical address

Karlsson, Jan Jan.Karlsson at sonymobile.com
Wed Jul 18 09:04:14 UTC 2012


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:image001.jpg at 01CD64D5.0A61B6C0]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20120718/1d559dc0/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 2843 bytes
Desc: image001.jpg
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20120718/1d559dc0/attachment.jpg>


More information about the Crash-utility mailing list