[tip: x86/urgent] x86/unwind/orc: Fix error path for bad ORC entry type

From: tip-bot2 for Josh Poimboeuf
Date: Sun Apr 26 2020 - 02:48:00 EST


The following commit has been merged into the x86/urgent branch of tip:

Commit-ID: a0f81bf26888048100bf017fadf438a5bdffa8d8
Gitweb: https://git.kernel.org/tip/a0f81bf26888048100bf017fadf438a5bdffa8d8
Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
AuthorDate: Sat, 25 Apr 2020 05:06:13 -05:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Sat, 25 Apr 2020 12:22:29 +02:00

x86/unwind/orc: Fix error path for bad ORC entry type

If the ORC entry type is unknown, nothing else can be done other than
reporting an error. Exit the function instead of breaking out of the
switch statement.

Fixes: ee9f8fce9964 ("x86/unwind: Add the ORC unwinder")
Reviewed-by: Miroslav Benes <mbenes@xxxxxxx>
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Dave Jones <dsj@xxxxxx>
Cc: Jann Horn <jannh@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Vince Weaver <vincent.weaver@xxxxxxxxx>
Link: https://lore.kernel.org/r/a7fa668ca6eabbe81ab18b2424f15adbbfdc810a.1587808742.git.jpoimboe@xxxxxxxxxx
---
arch/x86/kernel/unwind_orc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/unwind_orc.c b/arch/x86/kernel/unwind_orc.c
index cb11567..33b80a7 100644
--- a/arch/x86/kernel/unwind_orc.c
+++ b/arch/x86/kernel/unwind_orc.c
@@ -537,7 +537,7 @@ bool unwind_next_frame(struct unwind_state *state)
default:
orc_warn("unknown .orc_unwind entry type %d at %pB\n",
orc->type, (void *)orig_ip);
- break;
+ goto err;
}

/* Find BP: */