[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200903231601.51648.rusty@rustcorp.com.au>
Date: Mon, 23 Mar 2009 16:01:50 +1030
From: Rusty Russell <rusty@...tcorp.com.au>
To: mingo@...hat.com, hpa@...or.com, linux-kernel@...r.kernel.org,
peterz@...radead.org, tglx@...utronix.de, mingo@...e.hu
Cc: linux-tip-commits@...r.kernel.org
Subject: Re: [tip:core/stacktrace] symbols, stacktrace: look up init symbols after module symbols
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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists