diff options
| author | 2019-02-22 13:48:13 +0100 | |
|---|---|---|
| committer | 2019-02-22 13:48:13 +0100 | |
| commit | b7b14ec1ebef35d22f3f4087816468f22c987f75 (patch) | |
| tree | 3f99f4d7b770d7bba3ee84663b32f98dfbe7582d /kernel/bpf/stackmap.c | |
| parent | mac80211: update HE IEs to D3.3 (diff) | |
| parent | rocker: Add missing break for PRE_BRIDGE_FLAGS (diff) | |
| download | wireguard-linux-b7b14ec1ebef35d22f3f4087816468f22c987f75.tar.xz wireguard-linux-b7b14ec1ebef35d22f3f4087816468f22c987f75.zip | |
Merge remote-tracking branch 'net-next/master' into mac80211-next
Merge net-next to resolve a conflict and to get the mac80211
rhashtable fixes so further patches can be applied on top.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'kernel/bpf/stackmap.c')
| -rw-r--r-- | kernel/bpf/stackmap.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c index d43b14535827..950ab2f28922 100644 --- a/kernel/bpf/stackmap.c +++ b/kernel/bpf/stackmap.c @@ -44,7 +44,7 @@ static void do_up_read(struct irq_work *entry) struct stack_map_irq_work *work; work = container_of(entry, struct stack_map_irq_work, irq_work); - up_read(work->sem); + up_read_non_owner(work->sem); work->sem = NULL; } @@ -338,6 +338,12 @@ static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs, } else { work->sem = ¤t->mm->mmap_sem; irq_work_queue(&work->irq_work); + /* + * The irq_work will release the mmap_sem with + * up_read_non_owner(). The rwsem_release() is called + * here to release the lock from lockdep's perspective. + */ + rwsem_release(¤t->mm->mmap_sem.dep_map, 1, _RET_IP_); } } |
