• Alex Williamson's avatar
    vfio/pci: Fix SR-IOV VF handling with MMIO blocking · 81fb3459
    Alex Williamson authored
    commit ebfa440c upstream.
    
    SR-IOV VFs do not implement the memory enable bit of the command
    register, therefore this bit is not set in config space after
    pci_enable_device().  This leads to an unintended difference
    between PF and VF in hand-off state to the user.  We can correct
    this by setting the initial value of the memory enable bit in our
    virtualized config space.  There's really no need however to
    ever fault a user on a VF though as this would only indicate an
    error in the user's management of the enable bit, versus a PF
    where the same access could trigger hardware faults.
    
    Fixes: abafbc55 ("vfio-pci: Invalidate mmaps and block MMIO access on disabled memory")
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    81fb3459
vfio_pci_config.c 51.2 KB