Fix for the handling of ARM64 kernel module per-cpu symbols. Without

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.
(Jan.Karlsson@sonymobile.com)
This commit is contained in:
Dave Anderson 2015-05-27 10:43:54 -04:00
parent 3cbecbcd3c
commit 8b752d7b95

View File

@ -4443,7 +4443,12 @@ retry:
*/
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;