Commit 3b4a63f6 authored by Prashant Bhole's avatar Prashant Bhole Committed by Alexei Starovoitov

bpf: return EOPNOTSUPP when map lookup isn't supported

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: default avatarPrashant Bhole <bhole_prashant_q7@lab.ntt.co.jp>
Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
Acked-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 509db283
...@@ -449,7 +449,7 @@ static void fd_array_map_free(struct bpf_map *map) ...@@ -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) static void *fd_array_map_lookup_elem(struct bpf_map *map, void *key)
{ {
return NULL; return ERR_PTR(-EOPNOTSUPP);
} }
/* only called from syscall */ /* only called from syscall */
......
...@@ -2096,7 +2096,7 @@ int sockmap_get_from_fd(const union bpf_attr *attr, int type, ...@@ -2096,7 +2096,7 @@ int sockmap_get_from_fd(const union bpf_attr *attr, int type,
static void *sock_map_lookup(struct bpf_map *map, void *key) static void *sock_map_lookup(struct bpf_map *map, void *key)
{ {
return NULL; return ERR_PTR(-EOPNOTSUPP);
} }
static int sock_map_update_elem(struct bpf_map *map, static int sock_map_update_elem(struct bpf_map *map,
......
...@@ -505,7 +505,7 @@ const struct bpf_func_proto bpf_get_stack_proto = { ...@@ -505,7 +505,7 @@ const struct bpf_func_proto bpf_get_stack_proto = {
/* Called from eBPF program */ /* Called from eBPF program */
static void *stack_map_lookup_elem(struct bpf_map *map, void *key) static void *stack_map_lookup_elem(struct bpf_map *map, void *key)
{ {
return NULL; return ERR_PTR(-EOPNOTSUPP);
} }
/* Called from syscall */ /* Called from syscall */
......
...@@ -154,7 +154,7 @@ void __xsk_map_flush(struct bpf_map *map) ...@@ -154,7 +154,7 @@ void __xsk_map_flush(struct bpf_map *map)
static void *xsk_map_lookup_elem(struct bpf_map *map, void *key) static void *xsk_map_lookup_elem(struct bpf_map *map, void *key)
{ {
return NULL; return ERR_PTR(-EOPNOTSUPP);
} }
static int xsk_map_update_elem(struct bpf_map *map, void *key, void *value, static int xsk_map_update_elem(struct bpf_map *map, void *key, void *value,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment