diff options
| author | Josh Poimboeuf <jpoimboe@kernel.org> | 2025-04-08 00:02:15 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-05-02 08:02:07 +0200 |
| commit | b8fc2dbc5d94f58e20966b3277a11a363f3dfb76 (patch) | |
| tree | b78f5c5fd40f9fbbfc9ff5ce714057f2980e707e /tools | |
| parent | b96d16a336872ffbceee1e97781c490378f66acc (diff) | |
| download | linux-b8fc2dbc5d94f58e20966b3277a11a363f3dfb76.tar.gz linux-b8fc2dbc5d94f58e20966b3277a11a363f3dfb76.tar.bz2 linux-b8fc2dbc5d94f58e20966b3277a11a363f3dfb76.zip | |
objtool: Stop UNRET validation on UD2
[ Upstream commit 9f9cc012c2cbac4833746a0182e06a8eec940d19 ]
In preparation for simplifying INSN_SYSCALL, make validate_unret()
terminate control flow on UD2 just like validate_branch() already does.
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/ce841269e7e28c8b7f32064464a9821034d724ff.1744095216.git.jpoimboe@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/objtool/check.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index bbfd81f49802..eb9109b4aaf3 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -3870,6 +3870,9 @@ static int validate_unret(struct objtool_file *file, struct instruction *insn) break; } + if (insn->dead_end) + return 0; + if (!next) { WARN_INSN(insn, "teh end!"); return -1; |
