From: WangYuli <[email protected]>
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 <[email protected]>
Signed-off-by: WangYuli <[email protected]>
---
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)
{
--
2.51.0