xref: /linux/arch/arm64/kernel/probes/kprobes_trampoline.S (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */
2da6a9125SWilliam Cohen/*
3da6a9125SWilliam Cohen * trampoline entry and return code for kretprobes.
4da6a9125SWilliam Cohen */
5da6a9125SWilliam Cohen
6da6a9125SWilliam Cohen#include <linux/linkage.h>
7*25375123SMark Rutland#include <asm/asm-bug.h>
8da6a9125SWilliam Cohen#include <asm/assembler.h>
9da6a9125SWilliam Cohen
10da6a9125SWilliam Cohen	.text
11da6a9125SWilliam Cohen
12adf8a61aSMasami HiramatsuSYM_CODE_START(__kretprobe_trampoline)
13da6a9125SWilliam Cohen	/*
14*25375123SMark Rutland	 * Trigger a breakpoint exception. The PC will be adjusted by
15*25375123SMark Rutland	 * kretprobe_breakpoint_handler(), and no subsequent instructions will
16*25375123SMark Rutland	 * be executed from the trampoline.
17da6a9125SWilliam Cohen	 */
18*25375123SMark Rutland	brk #KRETPROBES_BRK_IMM
19*25375123SMark Rutland	ASM_BUG()
20adf8a61aSMasami HiramatsuSYM_CODE_END(__kretprobe_trampoline)
21