diff options
author | Jakub Kicinski <jakub.kicinski@netronome.com> | 2018-01-11 23:29:06 -0500 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-01-14 17:36:29 -0500 |
commit | bd475643d74e8ed78bfd36d941053b0e45974e8e (patch) | |
tree | 30fdfb7335e61f5d34c864f2abce9bf74f0f89ad /kernel/bpf/stackmap.c | |
parent | 9328e0d1bc09e96bd7dc85374f5c2a1e0e04e539 (diff) |
bpf: add helper for copying attrs to struct bpf_map
All map types reimplement the field-by-field copy of union bpf_attr
members into struct bpf_map. Add a helper to perform this operation.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'kernel/bpf/stackmap.c')
-rw-r--r-- | kernel/bpf/stackmap.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c index 6c63c2222ea8..b0ecf43f5894 100644 --- a/kernel/bpf/stackmap.c +++ b/kernel/bpf/stackmap.c | |||
@@ -88,14 +88,10 @@ static struct bpf_map *stack_map_alloc(union bpf_attr *attr) | |||
88 | if (cost >= U32_MAX - PAGE_SIZE) | 88 | if (cost >= U32_MAX - PAGE_SIZE) |
89 | goto free_smap; | 89 | goto free_smap; |
90 | 90 | ||
91 | smap->map.map_type = attr->map_type; | 91 | bpf_map_init_from_attr(&smap->map, attr); |
92 | smap->map.key_size = attr->key_size; | ||
93 | smap->map.value_size = value_size; | 92 | smap->map.value_size = value_size; |
94 | smap->map.max_entries = attr->max_entries; | ||
95 | smap->map.map_flags = attr->map_flags; | ||
96 | smap->n_buckets = n_buckets; | 93 | smap->n_buckets = n_buckets; |
97 | smap->map.pages = round_up(cost, PAGE_SIZE) >> PAGE_SHIFT; | 94 | smap->map.pages = round_up(cost, PAGE_SIZE) >> PAGE_SHIFT; |
98 | smap->map.numa_node = bpf_map_attr_numa_node(attr); | ||
99 | 95 | ||
100 | err = bpf_map_precharge_memlock(smap->map.pages); | 96 | err = bpf_map_precharge_memlock(smap->map.pages); |
101 | if (err) | 97 | if (err) |