On 04/19/2019 03:18 AM, Andrii Nakryiko wrote:
> On Tue, Apr 9, 2019 at 2:20 PM Daniel Borkmann <dan...@iogearbox.net> 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?

Reply via email to