diff options
author | Eric Dumazet <edumazet@google.com> | 2017-10-20 20:29:55 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-22 04:13:19 +0200 |
commit | 7dbfb4ef77db5666f0f3a425e7db93ca30ff4285 (patch) | |
tree | 94d623cfd54d163441c39b3bb26dab37e1e51ff6 | |
parent | Merge branch 'bpf-BASE_RTT' (diff) | |
download | linux-7dbfb4ef77db5666f0f3a425e7db93ca30ff4285.tar.xz linux-7dbfb4ef77db5666f0f3a425e7db93ca30ff4285.zip |
tun: do not block BH again in tun_flow_cleanup()
tun_flow_cleanup() being a timer callback, it is already
running in BH context.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/tun.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 3b41c36eae90..f9541f7f9fb7 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -454,7 +454,7 @@ static void tun_flow_cleanup(unsigned long data) tun_debug(KERN_INFO, tun, "tun_flow_cleanup\n"); - spin_lock_bh(&tun->lock); + spin_lock(&tun->lock); for (i = 0; i < TUN_NUM_FLOW_ENTRIES; i++) { struct tun_flow_entry *e; struct hlist_node *n; @@ -472,7 +472,7 @@ static void tun_flow_cleanup(unsigned long data) if (count) mod_timer(&tun->flow_gc_timer, round_jiffies_up(next_timer)); - spin_unlock_bh(&tun->lock); + spin_unlock(&tun->lock); } static void tun_flow_update(struct tun_struct *tun, u32 rxhash, |