Re: [PATCH v4 0/7] PCI: endpoint/NTB: Harden vNTB resource management

Manivannan Sadhasivam <[email protected]>
Newsgroups dev.linux.lists.ntb,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci
Message-ID <eazctmg7ptxadg4oq34e2ydib2frm4x76f6jpzm763uswocufl@uwpz5zhkd7sr>
On Thu, Feb 19, 2026 at 01:36:16AM +0900, Koichiro Den wrote:
> On Wed, Feb 18, 2026 at 09:52:08PM +0530, Manivannan Sadhasivam wrote:
> > On Wed, Feb 18, 2026 at 09:45:22PM +0530, Manivannan Sadhasivam wrote:
> > > On Tue, Dec 02, 2025 at 04:23:41PM +0900, Koichiro Den wrote:
> > > > The vNTB endpoint function (pci-epf-vntb) can be configured and reconfigured
> > > > through configfs (link/unlink functions, start/stop the controller, update
> > > > parameters). In practice, several pitfalls present: double-unmapping when two
> > > > windows share a BAR, wrong parameter order in .drop_link leading to wrong
> > > > object lookups, duplicate EPC teardown that leads to oopses, a work item
> > > > running after resources were torn down, and inability to re-link/restart
> > > > fundamentally because ntb_dev was embedded and the vPCI bus teardown was
> > > > incomplete.
> > > > 
> > > > This series addresses those issues and hardens resource management across NTB
> > > > EPF and PCI EP core:
> > > > 
> > > > - Avoid double iounmap when PEER_SPAD and CONFIG share the same BAR.
> > > > - Fix configfs .drop_link parameter order so the correct groups are used during
> > > >   unlink.
> > > > - Remove duplicate EPC resource teardown in both pci-epf-vntb and pci-epf-ntb,
> > > >   avoiding crashes on .allow_link failures and during .drop_link.
> > > > - Stop the delayed cmd_handler work before clearing BARs/doorbells.
> > > > - Manage ntb_dev as a devm-managed allocation and implement .remove() in the
> > > >   vNTB PCI driver. Switch to pci_scan_root_bus().
> > > > 
> > > > With these changes, the controller can now be stopped, a function unlinked,
> > > > configfs settings updated, and the controller re-linked and restarted
> > > > without rebooting the endpoint, as long as the underlying pci_epc_ops
> > > > .stop() is non-destructive and .start() restores normal operation.
> > > > 
> > > > Patches 1-5 carry Fixes tags and are candidates for stable.
> > > > Patch 6 is a preparatory one for Patch 7.
> > > > Patch 7 is a behavioral improvement that completes lifetime management for
> > > > relink/restart scenarios.
> > > > 
> > > 
> > > Are there any dependencies between pci-epf-vntb and ntb-epf drivers? If they are
> > > not dependent, you should always post them separately.
> 
> I'll make sure to be more careful.
> 
> > > For this series, I can
> > > merge the endpoint patches (except patch 4 which got merged in other form).
> > > 
> > 
> > Sry, patch 2.
> 
> There are no dependencies between Patch 1 and Patch 3-7.
> 
> One minor note: I just realized that the Patch 5 subject is inconsistent.
> 
>   NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> 
> should have been
> 
>   PCI: endpoint: pci-epf-vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> 
> If possible, could you please adjust the subject when applying?
> 

Will do.

- Mani

> Best regards,
> Koichiro
> 
> > 
> > - Mani
> > 
> > > - Mani
> > > 
> > > > 
> > > > v3->v4 changes:
> > > >   - Added Reviewed-by tag for [PATCH v3 6/6].
> > > >   - Corrected patch split by moving the blank-line cleanup,
> > > >     based on the feedback from Frank.
> > > >   (No code changes overall.)
> > > > v2->v3 changes:
> > > >   - Added Reviewed-by tag for [PATCH v2 4/6].
> > > >   - Split [PATCH v2 6/6] into two, based on the feedback from Frank.
> > > >   (No code changes overall.)
> > > > v1->v2 changes:
> > > >   - Incorporated feedback from Frank.
> > > >   - Added Reviewed-by tags (except for patches #4 and #6).
> > > >   - Fixed a typo in patch #5 title.
> > > >   (No code changes overall.)
> > > > 
> > > > v3: https://lore.kernel.org/all/[email protected]/
> > > > v2: https://lore.kernel.org/all/[email protected]/
> > > > v1: https://lore.kernel.org/all/[email protected]/
> > > > 
> > > > 
> > > > Koichiro Den (7):
> > > >   NTB: epf: Avoid pci_iounmap() with offset when PEER_SPAD and CONFIG
> > > >     share BAR
> > > >   PCI: endpoint: Fix parameter order for .drop_link
> > > >   PCI: endpoint: pci-epf-vntb: Remove duplicate resource teardown
> > > >   PCI: endpoint: pci-epf-ntb: Remove duplicate resource teardown
> > > >   NTB: epf: vntb: Stop cmd_handler work in epf_ntb_epc_cleanup
> > > >   PCI: endpoint: pci-epf-vntb: Switch vpci_scan_bus() to use
> > > >     pci_scan_root_bus()
> > > >   PCI: endpoint: pci-epf-vntb: manage ntb_dev lifetime and fix vpci bus
> > > >     teardown
> > > > 
> > > >  drivers/ntb/hw/epf/ntb_hw_epf.c               |  3 +-
> > > >  drivers/pci/endpoint/functions/pci-epf-ntb.c  | 56 +-----------
> > > >  drivers/pci/endpoint/functions/pci-epf-vntb.c | 86 ++++++++++++-------
> > > >  drivers/pci/endpoint/pci-ep-cfs.c             |  8 +-
> > > >  4 files changed, 62 insertions(+), 91 deletions(-)
> > > > 
> > > > -- 
> > > > 2.48.1
> > > > 
> > > 
> > > -- 
> > > மணிவண்ணன் சதாசிவம்
> > > 
> > 
> > -- 
> > மணிவண்ணன் சதாசிவம்

-- 
மணிவண்ணன் சதாசிவம்
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.