]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - kernel/module-internal.h
kallsyms: store type information in its own array
authorEugene Loh <eugene.loh@oracle.com>
Mon, 25 Feb 2019 19:59:58 +0000 (11:59 -0800)
committerJessica Yu <jeyu@kernel.org>
Thu, 28 Mar 2019 14:00:37 +0000 (15:00 +0100)
commit1c7651f43777cdd59c1aaa82c87324d3e7438c7b
treea58807d49e10a14e300b1ad9d538770178bec762
parent9672e2cb0fbdcb11d64ac43bcb4ee86a76b4221f
kallsyms: store type information in its own array

When a module is loaded, its symbols' Elf_Sym information is stored
in a symtab.  Further, type information is also captured.  Since
Elf_Sym has no type field, historically the st_info field has been
hijacked for storing type:  st_info was overwritten.

commit 5439c985c5a83a8419f762115afdf560ab72a452 ("module: Overwrite
st_size instead of st_info") changes that practice, as its one-liner
indicates.  Unfortunately, this change overwrites symbol size,
information that a tool like DTrace expects to find.

Allocate a typetab array to store type information so that no Elf_Sym
field needs to be overwritten.

Fixes: 5439c985c5a8 ("module: Overwrite st_size instead of st_info")
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
Reviewed-by: Nick Alcock <nick.alcock@oracle.com>
[jeyu: renamed typeoff -> typeoffs ]
Signed-off-by: Jessica Yu <jeyu@kernel.org>
include/linux/module.h
kernel/module-internal.h
kernel/module.c