summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2016-05-16 20:26:01 +0300
committerDavid S. Miller <davem@davemloft.net>2016-05-16 20:26:01 +0300
commit860d7ef64da14b642a2b0dc15381b69b7263fc44 (patch)
tree9029cc6548f66604f49a6397c3e80de2d0734300 /net
parentda47b4572056487fd7941c26f73b3e8815ff712a (diff)
parent88098834827025cc04c15f1b4b0d9bbef3cf55af (diff)
downloadlinux-860d7ef64da14b642a2b0dc15381b69b7263fc44.tar.xz
Merge branch 'hv_netvsc-races'
Vitaly Kuznetsov says: ==================== hv_netvsc: avoid races on mtu change/set channels Changes since v1: - Rebased to net-next [Haiyang Zhang] Original description: MTU change and set channels operations are implemented as netvsc device re-creation destroying internal structures (struct net_device stays). This is really unfortunate but there is no support from Hyper-V host to do it in a different way. Such re-creation is unsurprisingly racy, Haiyang reported a crash when netvsc_change_mtu() is racing with netvsc_link_change() but I was able to identify additional races upon investigation. Both netvsc_set_channels() and netvsc_change_mtu() race against: 1) netvsc_link_change() 2) netvsc_remove() 3) netvsc_send() To solve these issues without introducing new locks some refactoring is required. We need to get rid of very complex link graph in all the internal structures and avoid traveling through structures which are being removed. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions