Skip to content

Commit

Permalink
Fix for the handling of ARM64 kernel module per-cpu symbols. Without
Browse files Browse the repository at this point in the history
the patch, if the debuginfo data of an ARM64 kernel module that
contains a per-cpu section is loaded by "mod -s <module>" or
"mod -S", commands such as "bt" or "sym" may incorrectly translate
the module's virtual addresses to symbol names.
([email protected])
  • Loading branch information
Dave Anderson committed May 27, 2015
1 parent 3cbecbc commit 8b752d7
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion symbols.c
Original file line number Diff line number Diff line change
Expand Up @@ -4443,7 +4443,12 @@ value_search_module(ulong value, ulong *offset)
*/
splast = NULL;
for ( ; sp <= sp_end; sp++) {
if (value == sp->value) {
if (machine_type("ARM64") &&
IN_MODULE_PERCPU(sp->value, lm) &&
!IN_MODULE_PERCPU(value, lm))
continue;

if (value == sp->value) {
if (MODULE_END(sp) || MODULE_INIT_END(sp))
break;

Expand Down

0 comments on commit 8b752d7

Please sign in to comment.