• Brett Creeley's avatar
    ionic: disable napi when ionic_lif_init() fails · 43cfed71
    Brett Creeley authored
    When the driver is going through reset, it will eventually call
    ionic_lif_init(), which does a lot of re-initialization. One
    of the re-initialization steps is to setup the adminq and
    enable napi for it.  If something breaks after this point
    we can end up with a kernel NULL pointer dereference through
    ionic_adminq_napi.
    
    Fix this by making sure to call napi_disable() in the cleanup
    path of ionic_lif_init().  This forces any pending napi contexts
    to finish and prevents them from being recalled before deleting
    the napi context.
    
    Fixes: 77ceb68e ("ionic: Add notifyq support")
    Signed-off-by: default avatarBrett Creeley <brett@pensando.io>
    Signed-off-by: default avatarShannon Nelson <snelson@pensando.io>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    43cfed71
ionic_lif.c 93.6 KB