On Tue, Oct 13, 2026 at 02:37:38PM +0000, [email protected] wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
> to consider:
> - [Low] pci/p2pdma: false positive warning if Relaxed Ordering route succeeds
> --
> 
> commit e6e15dbbdb2b5d6dee258b1197f71025a221015f
> Author: Leon Romanovsky <[email protected]>
> 
> PCI/P2PDMA: Route Relaxed Ordering Completions directly
> 
> ACS P2P Completion Redirect leaves Completions carrying Relaxed Ordering
> alone, per PCIe r7.0 sec 6.12.1.1. A Completion copies that attribute from
> its Request, so a client setting it on Non-Posted Requests need not use the
> host bridge solely because Completion Redirect is enabled.
> 
> Route Completions directly for PCI_P2PDMA_TLP_RELAXED_CPL unless a device
> quirk redirects them or the Completer lacks an internal route to its
> sibling. Neither restriction promises a Relaxed Ordering exception. No
> caller selects these classes yet.
> 
> > diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c
> > index 9d416329aa4b8..785e4668a2af5 100644
> > --- a/drivers/pci/p2pdma.c
> > +++ b/drivers/pci/p2pdma.c
> > @@ -580,11 +580,15 @@ pci_acs_p2pdma_request(u16 ctrl, unsigned int 
> > tlp_flags)
> >  /*
> >   * Decide how a peer-to-peer Completion at an ACS-capable ingress port 
> > routes.
> >   * PCIe r7.0 sec 6.12.1.1: no ACS control other than P2P Completion 
> > Redirect
> > - * affects a Completion.
> > + * affects a Completion, and that one leaves Completions carrying the 
> > Relaxed
> > + * Ordering attribute alone.
> >   */
> >  static enum pci_acs_p2pdma_state
> >  pci_acs_p2pdma_completion(u16 ctrl, unsigned int tlp_flags)
> >  {
> > +   if (tlp_flags & PCI_P2PDMA_TLP_RELAXED_CPL)
> > +           return PCI_ACS_P2PDMA_DIRECT;
> > +
> 
> [Severity: Low]
> Now that Relaxed Ordering completions can route directly while strict ordering
> might still redirect, does this cause a false positive warning in
> calc_map_type_and_dist() in drivers/pci/p2pdma.c?

There are no in-kernel callers that selects RO.

In current code, this flow is impossible.

Thanks

Reply via email to