Skip to content

Commit

Permalink
objtool/x86: allow syscall instruction
Browse files Browse the repository at this point in the history
commit dda014b upstream.

The syscall instruction is used in Xen PV mode for doing hypercalls.
Allow syscall to be used in the kernel in case it is tagged with an
unwind hint for objtool.

This is part of XSA-466 / CVE-2024-53241.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Co-developed-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
jgross1 authored and gregkh committed Dec 19, 2024
1 parent 8f2c179 commit 1c50e8d
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions tools/objtool/check.c
Original file line number Diff line number Diff line change
Expand Up @@ -3206,10 +3206,13 @@ static int validate_branch(struct objtool_file *file, struct symbol *func,
break;

case INSN_CONTEXT_SWITCH:
if (func && (!next_insn || !next_insn->hint)) {
WARN_FUNC("unsupported instruction in callable function",
sec, insn->offset);
return 1;
if (func) {
if (!next_insn || !next_insn->hint) {
WARN_FUNC("unsupported instruction in callable function",
sec, insn->offset);
return 1;
}
break;
}
return 0;

Expand Down

0 comments on commit 1c50e8d

Please sign in to comment.