History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Daniel Borkmann says: ==================== pull-request: bpf 2020-12-28 The following pull-request contains BPF updates for your *net* tree. There is a small merge conflict between bpf tree commit 69ca310f3416 ("bpf: Save correct stopping point in file seq iteration") and net tree commit 66ed594409a1 ("bpf/task_iter: In task_file_seq_get_next use task_lookup_next_fd_rcu"). The get_files_struct() does not exist anymore in net, so take the hunk in HEAD and add the `info->tid = curr_tid` to the error path: [...] curr_task = task_seq_get_next(ns, &curr_tid, true); if (!curr_task) { info->task = NULL; info->tid = curr_tid; return NULL; } /* set info->task and info->tid */ [...] We've added 10 non-merge commits during the last 9 day(s) which contain a total of 11 files changed, 75 insertions(+), 20 deletions(-). The main changes are: 1) Various AF_XDP fixes such as fill/completion ring leak on failed bind and fixing a race in skb mode's backpressure mechanism, from Magnus Karlsson. 2) Fix latency spikes on lockdep enabled kernels by adding a rescheduling point to BPF hashtab initialization, from Eric Dumazet. 3) Fix a splat in task iterator by saving the correct stopping point in the seq file iteration, from Jonathan Lemon. 4) Fix BPF maps selftest by adding retries in case hashtab returns EBUSY errors on update/deletes, from Andrii Nakryiko. 5) Fix BPF selftest error reporting to something more user friendly if the vmlinux BTF cannot be found, from Kamal Mostafa. ====================

David S. Miller committed 5 years ago

Commit 4bfc4712 parents 1fef735 a61daaf11 files · +81 −27Browse files

Showing the changes to kernel (3 of 11 files). Show all

Unified · Split

3 files
  1. kernel/bpf/hashtab.c +1 −0
  2. kernel/bpf/syscall.c +0 −1
  3. kernel/bpf/task_iter.c +9 −9
kernel/bpf/hashtab.c+1−0
@@ -152,6 +152,7 @@ static void htab_init_buckets(struct bpf_htab *htab) · 151 unmodified lines
152152 lockdep_set_class(&htab->buckets[i].lock,
153153 &htab->lockdep_key);
154154 }
155+ cond_resched();
155156 }
156157 }
157158
kernel/bpf/syscall.c+0−1
@@ -17,7 +17,6 @@ · 16 unmodified lines
1717 #include <linux/fs.h>
1818 #include <linux/license.h>
1919 #include <linux/filter.h>
20−#include <linux/version.h>
2120 #include <linux/kernel.h>
2221 #include <linux/idr.h>
2322 #include <linux/cred.h>
kernel/bpf/task_iter.c+9−9
@@ -37,7 +37,7 @@ retry: · 36 unmodified lines
3737 if (!task) {
3838 ++*tid;
3939 goto retry;
40− } else if (skip_if_dup_files && task->tgid != task->pid &&
40+ } else if (skip_if_dup_files && !thread_group_leader(task) &&
4141 task->files == task->group_leader->files) {
4242 put_task_struct(task);
4343 task = NULL;
@@ -151,14 +151,14 @@ again: · 107 unmodified lines
151151 curr_task = info->task;
152152 curr_fd = info->fd;
153153 } else {
154− curr_task = task_seq_get_next(ns, &curr_tid, true);
155− if (!curr_task) {
156− info->task = NULL;
157− return NULL;
158− }
159−
160− /* set info->task and info->tid */
161− info->task = curr_task;
154+ curr_task = task_seq_get_next(ns, &curr_tid, true);
155+ if (!curr_task) {
156+ info->task = NULL;
157+ info->tid = curr_tid;
158+ return NULL;
159+ }
160+
161+ /* set info->task and info->tid */
162162 if (curr_tid == info->tid) {
163163 curr_fd = info->fd;
164164 } else {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t