summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorThomas Gleixner2016-07-13 17:03:30 +0200
committerThomas Gleixner2016-07-13 17:03:30 +0200
commite877bde234ee8e7aa73b8b3e3f1f67bc99c9b034 (patch)
tree64f2fd39a34e0a9223278e8b2a7a40887d77abe5 /tools
parentMerge branch 'core/rcu' into smp/hotplug to pick up dependencies (diff)
parentcpu/hotplug: Keep enough storage space if SMP=n to avoid array out of bounds ... (diff)
downloadkernel-qcow2-linux-e877bde234ee8e7aa73b8b3e3f1f67bc99c9b034.tar.gz
kernel-qcow2-linux-e877bde234ee8e7aa73b8b3e3f1f67bc99c9b034.tar.xz
kernel-qcow2-linux-e877bde234ee8e7aa73b8b3e3f1f67bc99c9b034.zip
Merge branch 'core/urgent' into smp/hotplug to pick up dependencies
Diffstat (limited to 'tools')
-rw-r--r--tools/objtool/builtin-check.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/objtool/builtin-check.c b/tools/objtool/builtin-check.c
index e8a1e69eb92c..25d803148f5c 100644
--- a/tools/objtool/builtin-check.c
+++ b/tools/objtool/builtin-check.c
@@ -122,10 +122,14 @@ static bool ignore_func(struct objtool_file *file, struct symbol *func)
/* check for STACK_FRAME_NON_STANDARD */
if (file->whitelist && file->whitelist->rela)
- list_for_each_entry(rela, &file->whitelist->rela->rela_list, list)
- if (rela->sym->sec == func->sec &&
+ list_for_each_entry(rela, &file->whitelist->rela->rela_list, list) {
+ if (rela->sym->type == STT_SECTION &&
+ rela->sym->sec == func->sec &&
rela->addend == func->offset)
return true;
+ if (rela->sym->type == STT_FUNC && rela->sym == func)
+ return true;
+ }
/* check if it has a context switching instruction */
func_for_each_insn(file, func, insn)