aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/local_storage.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2018-10-23 06:30:19 -0400
committerIngo Molnar <mingo@kernel.org>2018-10-23 06:30:19 -0400
commitdda93b45389f025fd3422d22cc31cc1ea6040305 (patch)
tree44a856744843e24ed1baf6ca4edb1be04809a606 /kernel/bpf/local_storage.c
parent2e62024c265aa69315ed02835623740030435380 (diff)
parentb61b8bba18fe2b63d38fdaf9b83de25e2d787dfe (diff)
Merge branch 'x86/cache' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/bpf/local_storage.c')
-rw-r--r--kernel/bpf/local_storage.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/bpf/local_storage.c b/kernel/bpf/local_storage.c
index 22ad967d1e5f..830d7f095748 100644
--- a/kernel/bpf/local_storage.c
+++ b/kernel/bpf/local_storage.c
@@ -129,7 +129,7 @@ static int cgroup_storage_update_elem(struct bpf_map *map, void *_key,
129 struct bpf_cgroup_storage *storage; 129 struct bpf_cgroup_storage *storage;
130 struct bpf_storage_buffer *new; 130 struct bpf_storage_buffer *new;
131 131
132 if (flags & BPF_NOEXIST) 132 if (flags != BPF_ANY && flags != BPF_EXIST)
133 return -EINVAL; 133 return -EINVAL;
134 134
135 storage = cgroup_storage_lookup((struct bpf_cgroup_storage_map *)map, 135 storage = cgroup_storage_lookup((struct bpf_cgroup_storage_map *)map,
@@ -195,6 +195,9 @@ static struct bpf_map *cgroup_storage_map_alloc(union bpf_attr *attr)
195 if (attr->key_size != sizeof(struct bpf_cgroup_storage_key)) 195 if (attr->key_size != sizeof(struct bpf_cgroup_storage_key))
196 return ERR_PTR(-EINVAL); 196 return ERR_PTR(-EINVAL);
197 197
198 if (attr->value_size == 0)
199 return ERR_PTR(-EINVAL);
200
198 if (attr->value_size > PAGE_SIZE) 201 if (attr->value_size > PAGE_SIZE)
199 return ERR_PTR(-E2BIG); 202 return ERR_PTR(-E2BIG);
200 203