Re: [PATCH 09/11] PCI: add matching checks for driver_override binding

From: Max Gurtovoy
Date: Wed Jun 09 2021 - 05:26:29 EST

On 6/9/2021 4:27 AM, Alex Williamson wrote:
On Tue, 8 Jun 2021 19:45:17 -0300
Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:

On Tue, Jun 08, 2021 at 03:26:43PM -0600, Alex Williamson wrote:
drivers that specifically opt into this feature and the driver now has
the opportunity to provide a proper match table that indicates what HW
it can properly support. vfio-pci continues to support everything.
In doing so, this also breaks the new_id method for vfio-pci.
Does it? How? The driver_override flag is per match entry not for the
entire device so new_id added things will work the same as before as
their new match entry's flags will be zero.
Hmm, that might have been a testing issue; combining driverctl with
manual new_id testing might have left a driver_override in place.
Sorry, with so many userspace regressions, crippling the
driver_override interface with an assumption of such a narrow focus,
creating a vfio specific match flag, I don't see where this can go.
On the other hand it overcomes all the objections from the last go
round: how userspace figures out which driver to use with
driver_override and integrating the universal driver into the scheme.

pci_stub could be delt with by marking it for driver_override like
By marking it a "vfio driver override"? :-\

Of course not. We'll mark it as "stub driver override".

But driverctl as a general tool working with any module is not really

Is the only issue the blocking of the arbitary binding? That is not a
critical peice of this, IIRC
We can't break userspace, which means new_id and driver_override need
to work as they do now. There are scads of driver binding scripts in
the wild, for vfio-pci and other drivers. We can't assume such a
narrow scope. Thanks,