On Wed, 9 Oct 2024 12:11:32 +0200 Konrad Sztyber <konrad.szty...@intel.com> wrote:
> On 10/7/24 19:49, Stephen Hemminger wrote: > > On Wed, 28 Aug 2024 12:40:02 +0200 > > Konrad Sztyber <konrad.szty...@intel.com> wrote: > > > >> The uio_pci_generic driver clears the bus master bit when the device > >> file is closed. So, when the secondary process terminates after probing > >> a device, that device becomes unusable in the primary process. > >> > >> To avoid that, the device file is now opened only in the primary > >> process. The commit that introduced this regression, 847d78fb95 > >> ("bus/pci: fix FD in secondary process"), only mentioned enabling access > >> to config space from secondary process, which still works, as it doesn't > >> rely on the device file. > >> > >> Fixes: 847d78fb95 ("bus/pci: fix FD in secondary process") > >> > >> Signed-off-by: Konrad Sztyber <konrad.szty...@intel.com> > > > > Wouldn't this break use of interrupts in the secondary process? > > Yes, it will. But I don't think we can support interrupts in the > secondary process *and*, at the same time, keep the device usable in the > primary process when secondary terminates. Maybe we could pass the fd > via SCM_RIGHTS? But I don't know if that results in the same struct file > being used by both processes. That is what tap, and xdp are doing.