Commit eef8a42d authored by Wenbo Zhang's avatar Wenbo Zhang Committed by Daniel Borkmann

bpf: Fix fds_example SIGSEGV error

The `BPF_LOG_BUF_SIZE`'s value is `UINT32_MAX >> 8`, so define an array
with it on stack caused an overflow.
Signed-off-by: default avatarWenbo Zhang <ethercflow@gmail.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200710092035.28919-1-ethercflow@gmail.com
parent 5c3320d7
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#define BPF_M_MAP 1 #define BPF_M_MAP 1
#define BPF_M_PROG 2 #define BPF_M_PROG 2
char bpf_log_buf[BPF_LOG_BUF_SIZE];
static void usage(void) static void usage(void)
{ {
printf("Usage: fds_example [...]\n"); printf("Usage: fds_example [...]\n");
...@@ -57,7 +59,6 @@ static int bpf_prog_create(const char *object) ...@@ -57,7 +59,6 @@ static int bpf_prog_create(const char *object)
BPF_EXIT_INSN(), BPF_EXIT_INSN(),
}; };
size_t insns_cnt = sizeof(insns) / sizeof(struct bpf_insn); size_t insns_cnt = sizeof(insns) / sizeof(struct bpf_insn);
char bpf_log_buf[BPF_LOG_BUF_SIZE];
struct bpf_object *obj; struct bpf_object *obj;
int prog_fd; int prog_fd;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment