| // SPDX-License-Identifier: GPL-2.0 | |
| /* | |
| * A function which calls out to another object. MODNAME selects which object | |
| * this one is, so a test can make the caller a module and the callee's owner | |
| * something else. | |
| */ | |
| #ifndef MODNAME | |
| #define MODNAME "vmlinux" | |
| #endif | |
| /* klp diff takes the object's module name from .modinfo */ | |
| static const char __modinfo[] | |
| __attribute__((section(".modinfo"), used, aligned(1))) = "\0name=" MODNAME; | |
| extern int other_mod_func(int x); | |
| int target(int x) | |
| { | |
| #ifdef PATCHED | |
| return other_mod_func(x) + 2; | |
| #else | |
| return other_mod_func(x) + 1; | |
| #endif | |
| } |