Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) // SPDX-License-Identifier: GPL-2.0+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3) #include <linux/error-injection.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4) #include <linux/kprobes.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5) #include <linux/uaccess.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) void override_function_with_return(struct pt_regs *regs)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) 	/*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 	 * Emulate 'blr'. 'regs' represents the state on entry of a predefined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 	 * function in the kernel/module, captured on a kprobe. We don't need
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 	 * to worry about 32-bit userspace on a 64-bit kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 	 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 	regs->nip = regs->link;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) NOKPROBE_SYMBOL(override_function_with_return);