lkml.org 
[lkml]   [2009]   [Mar]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [tip:core/stacktrace] symbols, stacktrace: look up init symbols after module symbols
Date
On Thursday 19 March 2009 22:24:35 Ingo Molnar wrote:
> a2da405: module: Don't report discarded init pages as kernel text.
>
> The reason is this check added to core_kernel_text():
>
> - if (addr >= (unsigned long)_sinittext &&
> + if (system_state == SYSTEM_BOOTING &&
> + addr >= (unsigned long)_sinittext &&
> addr <= (unsigned long)_einittext)
> return 1;
>
> This will discard inittext symbols even though their symbol table
> is still present and even though stacktraces done while the system
> was booting up might still be relevant.
>
> To not reintroduce the (not well-specified) bug addressed in that
> commit, first do a module symbols lookup, then a final init-symbols
> lookup.
>
> This will work fine on architectures that have separate address
> spaces for modules (such as x86) - and should not crash any other
> architectures either.

Returning "1" all the time won't crash them either, AFAICT, but it's still
misleading if kernel_text_address() isn't reliable. It makes me
uncomfortable.

Does every kernel_text_address() caller want this behavior, or should we
have a was_ever_text_address()?

Rusty.


\
 
 \ /
  Last update: 2009-03-23 06:35    [W:0.039 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site