diff options
| author | Vitaly Kuznetsov <[email protected]> | 2016-05-13 11:55:25 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2016-05-16 17:26:01 +0000 |
| commit | 88098834827025cc04c15f1b4b0d9bbef3cf55af (patch) | |
| tree | 9029cc6548f66604f49a6397c3e80de2d0734300 /drivers/net/xen-netback/interface.c | |
| parent | hv_netvsc: synchronize netvsc_change_mtu()/netvsc_set_channels() with netvsc_... (diff) | |
| download | kernel-88098834827025cc04c15f1b4b0d9bbef3cf55af.tar.gz kernel-88098834827025cc04c15f1b4b0d9bbef3cf55af.zip | |
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'drivers/net/xen-netback/interface.c')
0 files changed, 0 insertions, 0 deletions
