bpf: fix fds_example SIGSEGV error
Subsystems (3)
PATCH 1/1 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 Wenbo Zhang <[email protected]>
--- samples/bpf/fds_example.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
samples/bpf/fds_example.c +2 -1
@@ -30,6 +30,8 @@#define BPF_M_MAP 1#define BPF_M_PROG 2 +char bpf_log_buf[BPF_LOG_BUF_SIZE ]; +static void usage (void ) {printf ("Usage: fds_example [...]\n" );
@@ -57,7 +59,6 @@ static int bpf_prog_create(const char *object) BPF_EXIT_INSN(), };size_t insns_cnt =sizeof (insns) /sizeof (struct bpf_insn ); -char bpf_log_buf[BPF_LOG_BUF_SIZE ];struct bpf_object *obj;int prog_fd;
Signature · 1 line
2.17.1
Quoted 6 lines · Wenbo Zhang
The
BPF_LOG_BUF_SIZE's value isUINT32_MAX >> 8, so define an array with it on stack caused an overflow.Signed-off-by Wenbo Zhang <[email protected]>---
Acked-by Andrii Nakryiko <[email protected]>
Quoted 3 lines
samples/bpf/fds_example.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
[...]