• Eric Farman's avatar
    vfio/ccw: remove WARN_ON during shutdown · 1c06bb87
    Eric Farman authored
    The logic in vfio_ccw_sch_shutdown() always assumed that the input
    subchannel would point to a vfio_ccw_private struct, without checking
    that one exists. The blamed commit put in a check for this scenario,
    to prevent the possibility of a missing private.
    
    The trouble is that check was put alongside a WARN_ON(), presuming
    that such a scenario would be a cause for concern. But this can be
    triggered by binding a subchannel to vfio-ccw, and rebooting the
    system before starting the mdev (via "mdevctl start" or similar)
    or after stopping it. In those cases, shutdown doesn't need to
    worry because either the private was never allocated, or it was
    cleaned up by vfio_ccw_mdev_remove().
    
    Remove the WARN_ON() piece of this check, since there are plausible
    scenarios where private would be NULL in this path.
    
    Fixes: 9e6f07cd ("vfio/ccw: create a parent struct")
    Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
    Reviewed-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
    Link: https://lore.kernel.org/r/20230210174227.2256424-1-farman@linux.ibm.comSigned-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    1c06bb87
vfio_ccw_drv.c 12 KB