From 7905edba66b10c29952e3148ee785a559b6e82ec Mon Sep 17 00:00:00 2001
From: Luis Gerhorst <privat@luisgerhorst.de>
Date: Tue, 2 Mar 2021 10:55:37 +0100
Subject: [PATCH] bpf_helpers_doc: Multiple declarations per syscall

---
 scripts/bpf_helpers_doc.py | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/scripts/bpf_helpers_doc.py b/scripts/bpf_helpers_doc.py
index bfe85c4c1d719..c1c0ff57fa5e2 100755
--- a/scripts/bpf_helpers_doc.py
+++ b/scripts/bpf_helpers_doc.py
@@ -526,7 +526,32 @@ class PrinterHelpers(Printer):
         footer = '''\
 #define __SYSCALL_X32(nr, sym)
 #define __SYSCALL_COMMON(nr, sym) __SYSCALL_64(nr, sym)
-#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym)(__u64 arg1, __u64 arg2, __u64 arg3, __u64 *arg_tail, __u64 size) = (void *) (1000 + nr);
+
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_0)() = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_1)(__u64 arg1) = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_2)(__u64 arg1, __u64 arg2) = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_3)(__u64 arg1, __u64 arg2, __u64 arg3) = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_4)(__u64 arg1, __u64 arg2, __u64 arg3, __u64 arg4) = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_5)(__u64 arg1, __u64 arg2, __u64 arg3, __u64 arg4, __u64 arg5) = (void *) (1000 + nr);
+#include <generated/asm/syscalls_64.h>
+
+#undef __SYSCALL_64
+#define __SYSCALL_64(nr, sym) static __u64 (*bpf_task_##sym##_6)(__u64 arg1, __u64 arg2, __u64 arg3, __u64 *arg_tail, __u64 size) = (void *) (1000 + nr);
 #include <generated/asm/syscalls_64.h>
 '''
         print(footer)
-- 
GitLab