diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-09 03:02:35 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-10-09 03:02:35 -0400 |
commit | 1236d6bb6e19fc72ffc6bbcdeb1bfefe450e54ee (patch) | |
tree | 47da3feee8e263e8c9352c85cf518e624be3c211 /kernel/bpf/syscall.c | |
parent | 750b1a6894ecc9b178c6e3d0a1170122971b2036 (diff) | |
parent | 8a5776a5f49812d29fe4b2d0a2d71675c3facf3f (diff) |
Merge 4.14-rc4 into staging-next
We want the staging/iio fixes in here as well to handle merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r-- | kernel/bpf/syscall.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index cb17e1cd1d43..25d074920a00 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c | |||
@@ -186,15 +186,17 @@ static int bpf_map_alloc_id(struct bpf_map *map) | |||
186 | 186 | ||
187 | static void bpf_map_free_id(struct bpf_map *map, bool do_idr_lock) | 187 | static void bpf_map_free_id(struct bpf_map *map, bool do_idr_lock) |
188 | { | 188 | { |
189 | unsigned long flags; | ||
190 | |||
189 | if (do_idr_lock) | 191 | if (do_idr_lock) |
190 | spin_lock_bh(&map_idr_lock); | 192 | spin_lock_irqsave(&map_idr_lock, flags); |
191 | else | 193 | else |
192 | __acquire(&map_idr_lock); | 194 | __acquire(&map_idr_lock); |
193 | 195 | ||
194 | idr_remove(&map_idr, map->id); | 196 | idr_remove(&map_idr, map->id); |
195 | 197 | ||
196 | if (do_idr_lock) | 198 | if (do_idr_lock) |
197 | spin_unlock_bh(&map_idr_lock); | 199 | spin_unlock_irqrestore(&map_idr_lock, flags); |
198 | else | 200 | else |
199 | __release(&map_idr_lock); | 201 | __release(&map_idr_lock); |
200 | } | 202 | } |