]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
objtool: Fix error handling for STD/CLD warnings
authorJosh Poimboeuf <jpoimboe@redhat.com>
Thu, 21 Jan 2021 21:29:17 +0000 (15:29 -0600)
committerJosh Poimboeuf <jpoimboe@redhat.com>
Tue, 26 Jan 2021 17:11:59 +0000 (11:11 -0600)
Actually return an error (and display a backtrace, if requested) for
directional bit warnings.

Fixes: 2f0f9e9ad7b3 ("objtool: Add Direction Flag validation")
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/dc70f2adbc72f09526f7cab5b6feb8bf7f6c5ad4.1611263461.git.jpoimboe@redhat.com
tools/objtool/check.c

index 270b507e7098c7daaf97d1a603bac736b060a6b8..3bdd946c2027ef415fb57f4154faa924e1ac27d5 100644 (file)
@@ -2651,15 +2651,19 @@ static int validate_branch(struct objtool_file *file, struct symbol *func,
                        break;
 
                case INSN_STD:
-                       if (state.df)
+                       if (state.df) {
                                WARN_FUNC("recursive STD", sec, insn->offset);
+                               return 1;
+                       }
 
                        state.df = true;
                        break;
 
                case INSN_CLD:
-                       if (!state.df && func)
+                       if (!state.df && func) {
                                WARN_FUNC("redundant CLD", sec, insn->offset);
+                               return 1;
+                       }
 
                        state.df = false;
                        break;