net: openvswitch: fixes potential deadlock in dp cleanup code
authorEelco Chaudron <echaudro@redhat.com>
Fri, 24 Jul 2020 08:20:59 +0000 (10:20 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jul 2020 23:58:38 +0000 (16:58 -0700)
commita65878d6f00bb2d791348ae90dcc2ede1dbe2b91
treee0a6f2c668074161bcb86722a03fec039397c3c2
parentdfd3d5266dc1d9a2b06e5a09bbff4cee547eeb5f
net: openvswitch: fixes potential deadlock in dp cleanup code

The previous patch introduced a deadlock, this patch fixes it by making
sure the work is canceled without holding the global ovs lock. This is
done by moving the reorder processing one layer up to the netns level.

Fixes: eac87c413bf9 ("net: openvswitch: reorder masks array based on usage")
Reported-by: syzbot+2c4ff3614695f75ce26c@syzkaller.appspotmail.com
Reported-by: syzbot+bad6507e5db05017b008@syzkaller.appspotmail.com
Reviewed-by: Paolo <pabeni@redhat.com>
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/datapath.c
net/openvswitch/datapath.h