• V
    hv_netvsc: set nvdev link after populating chn_table · 88098834
    Vitaly Kuznetsov 提交于
    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: NVitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    88098834
netvsc.c 35.0 KB