Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [tip:core/stacktrace] symbols, stacktrace: look up init symbols after module symbols | Date | Mon, 23 Mar 2009 16:01:50 +1030 |
| |
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.
| |