tools/bpftool: Strip away modifiers from global variables
authorAndrii Nakryiko <andriin@fb.com>
Mon, 13 Jul 2020 23:24:09 +0000 (16:24 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 14 Jul 2020 00:07:43 +0000 (17:07 -0700)
commit0b20933d8cfe2bf6473e9b581b5d1ed9a2117ecc
tree79a7e9cabc285400476b921dbdaa4bba220fa46e
parent7c819e701382d4969ca4837b8cbe157895f5d0bf
tools/bpftool: Strip away modifiers from global variables

Reliably remove all the type modifiers from read-only (.rodata) global
variable definitions, including cases of inner field const modifiers and
arrays of const values.

Also modify one of selftests to ensure that const volatile struct doesn't
prevent user-space from modifying .rodata variable.

Fixes: 985ead416df3 ("bpftool: Add skeleton codegen command")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200713232409.3062144-3-andriin@fb.com
tools/bpf/bpftool/gen.c
tools/lib/bpf/btf.h
tools/testing/selftests/bpf/prog_tests/skeleton.c
tools/testing/selftests/bpf/progs/test_skeleton.c