On Wed, Sep 19, 2018 at 04:51:41PM +0900, Prashant Bhole wrote: > Return ERR_PTR(-EOPNOTSUPP) from map_lookup_elem() methods of below > map types: > - BPF_MAP_TYPE_PROG_ARRAY > - BPF_MAP_TYPE_STACK_TRACE > - BPF_MAP_TYPE_XSKMAP > - BPF_MAP_TYPE_SOCKMAP/BPF_MAP_TYPE_SOCKHASH > > Signed-off-by: Prashant Bhole <bhole_prashant...@lab.ntt.co.jp> > --- > kernel/bpf/arraymap.c | 2 +- > kernel/bpf/sockmap.c | 2 +- > kernel/bpf/stackmap.c | 2 +- > kernel/bpf/xskmap.c | 2 +- > 4 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c > index dded84cbe814..24583da9ffd1 100644 > --- a/kernel/bpf/arraymap.c > +++ b/kernel/bpf/arraymap.c > @@ -449,7 +449,7 @@ static void fd_array_map_free(struct bpf_map *map) > > static void *fd_array_map_lookup_elem(struct bpf_map *map, void *key) > { > - return NULL; > + return ERR_PTR(-EOPNOTSUPP); > }
conceptually the set looks good to me. Please add a test to test_verifier.c to make sure that these lookup helpers cannot be called from BPF program. Otherwise this diff may cause crashes.