// SPDX-License-Identifier: GPL-2.0-or-later /* * Dynamic Ftrace based Kprobes Optimization * * Copyright (C) Hitachi Ltd., 2012 */ #include <linux/kprobes.h> #include <linux/ptrace.h> #include <linux/hardirq.h> #include <linux/preempt.h> #include <linux/ftrace.h> #include "common.h" /* Ftrace callback handler for kprobes -- called under preempt disabled */ void kprobe_ftrace_handler(unsigned long ip, unsigned long parent_ip, struct ftrace_ops *ops, struct ftrace_regs *fregs) { … } NOKPROBE_SYMBOL(kprobe_ftrace_handler); int arch_prepare_kprobe_ftrace(struct kprobe *p) { … }