From: WangYuli wangyl5933@chinaunicom.cn
Add __nocf_check attribute to probed_uretprobe on x86_64 to match probed_uprobe's function signature.
[ Fix follow error with gcc-15: ] CC seccomp_bpf seccomp_bpf.c: In function ‘UPROBE_setup’: seccomp_bpf.c:5175:74: error: pointer type mismatch in conditional expression [-Wincompatible-pointer-types] 5175 | offset = get_uprobe_offset(variant->uretprobe ? probed_uretprobe : probed_uprobe); | ^ seccomp_bpf.c:5175:57: note: first expression has type ‘int (*)(void)’ 5175 | offset = get_uprobe_offset(variant->uretprobe ? probed_uretprobe : probed_uprobe); | ^~~~~~~~~~~~~~~~ seccomp_bpf.c:5175:76: note: second expression has type ‘int (__attribute__((nocf_check)) *)(void)’ 5175 | offset = get_uprobe_offset(variant->uretprobe ? probed_uretprobe : probed_uprobe); | ^~~~~~~~~~~~~
Signed-off-by: WangYuli wangyl5933@chinaunicom.cn Signed-off-by: WangYuli wangyuli@aosc.io --- tools/testing/selftests/seccomp/seccomp_bpf.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c b/tools/testing/selftests/seccomp/seccomp_bpf.c index 874f17763536..19df80d18619 100644 --- a/tools/testing/selftests/seccomp/seccomp_bpf.c +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -5057,17 +5057,23 @@ __naked __nocf_check noinline int probed_uprobe(void) } #pragma GCC diagnostic pop
-#else +int __nocf_check noinline probed_uretprobe(void) +{ + return 1; +} + +#else /* !__x86_64__ */ + noinline int probed_uprobe(void) { return 1; } -#endif
noinline int probed_uretprobe(void) { return 1; } +#endif /* __x86_64__ */
static int parse_uint_from_file(const char *file, const char *fmt) {
linux-kselftest-mirror@lists.linaro.org