• Lijun Pan's avatar
    ibmvnic: continue fatal error reset after passive init · 1f45dc22
    Lijun Pan authored
    Commit f9c6cea0 ("ibmvnic: Skip fatal error reset after passive init")
    says "If the passive
    CRQ initialization occurs before the FATAL reset task is processed,
    the FATAL error reset task would try to access a CRQ message queue
    that was freed, causing an oops. The problem may be most likely to
    occur during DLPAR add vNIC with a non-default MTU, because the DLPAR
    process will automatically issue a change MTU request.
    Fix this by not processing fatal error reset if CRQ is passively
    initialized after client-driven CRQ initialization fails."
    
    The original commit skips a specific reset condition, but that does
    not fix the problem it claims to fix, and misses a reset condition.
    The effective fix is commit 0e435bef ("ibmvnic: fix NULL pointer
    dereference in ibmvic_reset_crq") and commit a0faaa27 ("ibmvnic:
    fix NULL pointer dereference in reset_sub_crq_queues"). With above
    two fixes, there are no more crashes seen as described even without
    the original commit, so I would like to revert the original commit.
    
    Fixes: f9c6cea0 ("ibmvnic: Skip fatal error reset after passive init")
    Signed-off-by: default avatarLijun Pan <ljp@linux.ibm.com>
    Link: https://lore.kernel.org/r/20201223204904.12677-1-ljp@linux.ibm.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    1f45dc22
ibmvnic.c 150 KB