Thread (2 messages) 2 messages, 2 authors, 2021-07-14

Re: [PATCH 02/17] kallsyms: increase maximum kernel symbol length to 512

From: Eric W. Biederman <hidden>
Date: 2021-07-14 20:49:08
Also in: linux-kbuild, lkml, rust-for-linux

Possibly related (same subject, not in this thread)

Linus Torvalds [off-list ref] writes:
On Wed, Jul 14, 2021 at 1:09 PM Eric W. Biederman [off-list ref] wrote:
quoted
Are you thinking the hashed kernel symbols need to have their types
included in the hash?
I think the hash should be the whole mangled name. So yes, for Rust
symbols they'd have the the type information.
Sorry I was meaning to ask should the C symbols that get hashed
include their types in the hash as well?  Because if everything
is going to be hashed we need to clear definition of what we do
with good old C symbols as well.
quoted
 Or is this just a hash to make the names a managable size?
No, if that was the only point of it, the "just use two bytes for
length" would be simpler.

But I don't think we want to do run-time de-mangling of names in the
kernel when doing stack traces, which implies that the kallsym
information in the kernel should be the de-mangled names.

That makes the names nice and readable, and also makes this "maximum
symbol length" thing a non-issue.

BUT.

It also means that you can't use those names for linking purposes, so
you'd then need to have a "full version" for that. But as Willy
pointed out elsewhere, you might as well just use a constant-sized
hash for that, rather than have both a manged and a de-mangled name.
Just to clarify.  We want this for the C symbols as well?

Eric
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help