[Crash-utility] Why module's global symbol cannot be displayed in crash? [ARM]
Dave Anderson
anderson at redhat.com
Thu Mar 21 15:04:16 UTC 2013
----- Original Message -----
> After your fix, the module could show module address now.
> However I don't know whether this showing is correct or not...
> For while I want to check the module's defined global variant like
> below, I just find it is not being mapped yet...
> But this variant definition is very straightforward, like:
> int cctdev_major = 0;
>
>
> crash> sym cctdev_major
> bf16564d (B) cctdev_major
> crash> vtop -k bf16564d
> VIRTUAL PHYSICAL
> bf16564d (not mapped)
>
> PAGE DIRECTORY: c0004000
> PGD: c0006fc4 => 1f3cdc11
> PMD: c0006fc4 => 1f3cdc11
> PTE: 1f3cd594 => 0
>
> I don't know what is going wrong there, and I am planning to manually
> print out symbols' address before trigger the dump, and to see
> whether they could be aligned.
>
> Do you have some better idea how to fix it?...
No, not really, I'm not an ARM guy...
But it's possible/probable that the "vtop" translation on kernel module
virtual (vmalloc) addresses may not be working correctly. I also noted
yesterday that "vtop" on user-space virtual addresses fails pretty miserably
most of the time. Both arm_kvtop() and arm_uvtop() both end up calling the
common arm_vtop() function, so I'm guessing that it's the culprit.
Dave
More information about the Crash-utility
mailing list