On 04/19/2019 03:18 AM, Andrii Nakryiko wrote: > On Tue, Apr 9, 2019 at 2:20 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: >> [...] >> + def->type = BPF_MAP_TYPE_ARRAY; >> + def->key_size = sizeof(int); >> + def->value_size = data->d_size; >> + def->max_entries = 1; >> + def->map_flags = type == LIBBPF_MAP_RODATA ? >> + BPF_F_RDONLY_PROG : 0; > > This is breaking BPF programs (even those that don't use global data, > as they still have .rodata section, though I haven't investigated its > contents) on kernels that don't yet support BPF_F_RDONLY_PROG flag > yet. We probably need to probe support for that flag first, before > using it. Just giving heads up, as I just discovered it trying to sync > libbpf on github. Thanks for reporting! On a quick look test_progs (modulo global data test) seems to pass with an slightly older kernel. I'll retry with a latest LLVM git tree tomorrow with our test suite. Did you see a specific one failing or do you have a reproducer in case it's something not covered where I could look into?