summaryrefslogtreecommitdiffstats
path: root/kernel/bpf/arraymap.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2018-02-23 12:34:18 -0500
committerDavid S. Miller <davem@davemloft.net>2018-02-23 12:34:18 -0500
commit22170094437b4ae2308944bb3ec0fe7ebe45f4a1 (patch)
tree1dabdfd03e42add165db06554c069800eabd3d3a /kernel/bpf/arraymap.c
parentd903ec77118c09f93a610b384d83a6df33a64fe6 (diff)
parent16338a9b3ac30740d49f5dfed81bac0ffa53b9c7 (diff)
downloadlinux-22170094437b4ae2308944bb3ec0fe7ebe45f4a1.tar.gz
linux-22170094437b4ae2308944bb3ec0fe7ebe45f4a1.tar.bz2
linux-22170094437b4ae2308944bb3ec0fe7ebe45f4a1.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Alexei Starovoitov says: ==================== pull-request: bpf 2018-02-22 The following pull-request contains BPF updates for your *net* tree. The main changes are: 1) two urgent fixes for bpf_tail_call logic for x64 and arm64 JITs, from Daniel. 2) cond_resched points in percpu array alloc/free paths, from Eric. 3) lockdep and other minor fixes, from Yonghong, Arnd, Anders, Li. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/bpf/arraymap.c')
-rw-r--r--kernel/bpf/arraymap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/bpf/arraymap.c b/kernel/bpf/arraymap.c
index a364c408f25a..14750e7c5ee4 100644
--- a/kernel/bpf/arraymap.c
+++ b/kernel/bpf/arraymap.c
@@ -26,8 +26,10 @@ static void bpf_array_free_percpu(struct bpf_array *array)
{
int i;
- for (i = 0; i < array->map.max_entries; i++)
+ for (i = 0; i < array->map.max_entries; i++) {
free_percpu(array->pptrs[i]);
+ cond_resched();
+ }
}
static int bpf_array_alloc_percpu(struct bpf_array *array)
@@ -43,6 +45,7 @@ static int bpf_array_alloc_percpu(struct bpf_array *array)
return -ENOMEM;
}
array->pptrs[i] = ptr;
+ cond_resched();
}
return 0;