• Vitaly Kuznetsov's avatar
    hv_netvsc: set nvdev link after populating chn_table · 88098834
    Vitaly Kuznetsov authored
    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: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    88098834
netvsc.c 35 KB