On Tue, Oct 09, 2018 at 10:04:48AM +0900, Prashant Bhole wrote: > Currently when map a lookup fails, user space API can not make any > distinction whether given key was not found or lookup is not supported > by particular map. > > In this series we modify return value of maps which do not support > lookup. Lookup on such map implementation will return -EOPNOTSUPP. > bpf() syscall with BPF_MAP_LOOKUP_ELEM command will set EOPNOTSUPP > errno. We also handle this error in bpftool to print appropriate > message. > > Patch 1: adds handling of BPF_MAP_LOOKUP ELEM command of bpf syscall > such that errno will set to EOPNOTSUPP when map doesn't support lookup > > Patch 2: Modifies the return value of map_lookup_elem() to EOPNOTSUPP > for maps which do not support lookup > > Patch 3: Splits do_dump() in bpftool/map.c. Element printing code is > moved out into new function dump_map_elem(). This was done in order to > reduce deep indentation and accomodate further changes. > > Patch 4: Changes in bpftool to print strerror() message when lookup > error is occured. This will result in appropriate message like > "Operation not supported" when map doesn't support lookup. > > Patch 5: test_verifier: change fixup map naming convention as > suggested by Alexei > > Patch 6: Added verifier tests to check whether verifier rejects call > to bpf_map_lookup_elem from bpf program. For all map types those > do not support map lookup.
Applied, Thanks