Commit 644592d3 authored by Josh Poimboeuf's avatar Josh Poimboeuf Committed by Borislav Petkov

objtool: Fail the kernel build on fatal errors

When objtool encounters a fatal error, it usually means the binary is
corrupt or otherwise broken in some way.  Up until now, such errors were
just treated as warnings which didn't fail the kernel build.

However, objtool is now stable enough that if a fatal error is
discovered, it most likely means something is seriously wrong and it
should fail the kernel build.

Note that this doesn't apply to "normal" objtool warnings; only fatal
ones.
Suggested-by: default avatarBorislav Petkov <bp@suse.de>
Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarJulien Thierry <jthierry@redhat.com>
Link: https://lkml.kernel.org/r/f18c3743de0fef673d49dd35760f26bdef7f6fc3.1581359535.git.jpoimboe@redhat.com
parent bb6d3fb3
...@@ -2491,8 +2491,14 @@ int check(const char *_objname, bool orc) ...@@ -2491,8 +2491,14 @@ int check(const char *_objname, bool orc)
out: out:
cleanup(&file); cleanup(&file);
/* ignore warnings for now until we get all the code cleaned up */ if (ret < 0) {
if (ret || warnings) /*
return 0; * Fatal error. The binary is corrupt or otherwise broken in
* some way, or objtool itself is broken. Fail the kernel
* build.
*/
return ret;
}
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment