summary refs log tree commit diff
path: root/kernel/trace/trace_syscalls.c
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2017-09-07 18:36:15 -0700
committerDavid S. Miller <davem@davemloft.net>2017-09-11 14:28:45 -0700
commit609320c8a22715b74b39796930c3542719f8ab62 (patch)
tree35b1ec2606bd443edd2988c353ee7c4de6bb0748 /kernel/trace/trace_syscalls.c
parentc6644d07eff6588b2dedf881279fb0d1c7783970 (diff)
downloadlinux-609320c8a22715b74b39796930c3542719f8ab62.tar.gz
perf/bpf: fix a clang compilation issue
clang does not support variable length array for structure member.
It has the following error during compilation:

kernel/trace/trace_syscalls.c:568:17: error: fields must have a constant size:
'variable length array in structure' extension will never be supported
                unsigned long args[sys_data->nb_args];
                              ^

The fix is to use a fixed array length instead.

Reported-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/trace/trace_syscalls.c')
-rw-r--r--kernel/trace/trace_syscalls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
index 9c4eef20301c..696afe72d3b1 100644
--- a/kernel/trace/trace_syscalls.c
+++ b/kernel/trace/trace_syscalls.c
@@ -565,7 +565,7 @@ static int perf_call_bpf_enter(struct bpf_prog *prog, struct pt_regs *regs,
 	struct syscall_tp_t {
 		unsigned long long regs;
 		unsigned long syscall_nr;
-		unsigned long args[sys_data->nb_args];
+		unsigned long args[SYSCALL_DEFINE_MAXARGS];
 	} param;
 	int i;