Em Wed, Jul 01, 2020 at 08:21:13AM -0700, Alexei Starovoitov escreveu: > On Wed, Jul 1, 2020 at 2:34 AM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote: > > > > +1, I think augmenting mid-term would be the best given check_sleepable_blacklist() > > is rather a very fragile workaround^hack and it's also a generic lsm/sec hooks issue > > I tried to make that crystal clear back in march during bpf virtual conference. > imo whitelist is just as fragile as blacklist. Underlying > implementation can change. > > > (at least for BPF_PROG_TYPE_LSM type & for the sake of documenting it for other LSMs). > > Perhaps there are function attributes that could be used and later retrieved via BTF? > > Even if we convince gcc folks to add another function attribute it > won't appear in dwarf. Warning, hack ahead! Perhaps we could do that with some sort of convention, i.e. define some type and make a function returning that type to have the desired attribute? I.e. typedef __attribute__foo__int int; __attribute__foo__int function_bla(...) { } ? > So we won't be able to convert it to BTF in pahole. > Looking at how we failed to extend address_space() attribute to > support existing __rcu > and __user annotations I don't have high hopes of achieving annotations > via compiler (either gcc or clang). So plan B is to engage with sparse folks and > make it emit BTF with __rcu, __user and other annotations. -- - Arnaldo