1
0
Fork 0
alistair23-linux/drivers/net/hyperv
Vitaly Kuznetsov 8809883482 hv_netvsc: set nvdev link after populating chn_table
Crash in netvsc_send() is observed when netvsc device is re-created on
mtu change/set channels. The crash is caused by dereferencing of NULL
channel pointer which comes from chn_table. The root cause is a mixture
of two facts:
- we set nvdev pointer in net_device_context in alloc_net_device()
  before we populate chn_table.
- we populate chn_table[0] only.

The issue could be papered over by checking channel != NULL in
netvsc_send() but populating the whole chn_table and writing the
nvdev pointer afterwards seems more appropriate.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-05-16 13:26:01 -04:00
..
Kconfig staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
Makefile staging: hv: move hv_netvsc out of staging area 2011-11-29 16:12:36 +09:00
hyperv_net.h hv_netvsc: get rid of struct net_device pointer in struct netvsc_device 2016-05-16 13:26:00 -04:00
netvsc.c hv_netvsc: set nvdev link after populating chn_table 2016-05-16 13:26:01 -04:00
netvsc_drv.c hv_netvsc: synchronize netvsc_change_mtu()/netvsc_set_channels() with netvsc_remove() 2016-05-16 13:26:01 -04:00
rndis_filter.c hv_netvsc: get rid of struct net_device pointer in struct netvsc_device 2016-05-16 13:26:00 -04:00