> Thank you for your contribution! Sashiko AI review found 1 potential issue(s)
> to consider:
> - [Medium] False-positive ASSERT_RTNL() warning during probe failure.
> --
> 
> commit b6c8581e036e2f21afeed4eb0d2e9961d1a0d2f5
> Author: Long Li <[email protected]>
> Subject: net: mana: keep per-queue statistics in the port context
> 
> This patch moves rx and tx statistics from the individual queue structures 
> into
> port-context arrays. This ensures that the interface counters are not lost
> across reconfigurations such as ethtool channel count or MTU changes.
> 
> > diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c
> > b/drivers/net/ethernet/microsoft/mana/mana_en.c
> > --- a/drivers/net/ethernet/microsoft/mana/mana_en.c
> > +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
> [ ... ]
> > +static void mana_fold_rxq_stats(struct mana_port_context *apc,
> > +                           struct mana_rxq *rxq)
> > +{
> > +   struct mana_stats_rx *src = &rxq->drain_stats;
> > +   struct mana_stats_rx *dst;
> > +   unsigned int i;
> > +
> > +   ASSERT_RTNL();
> [ ... ]
> > @@ -3017,6 +3163,11 @@ static void mana_destroy_rxq(struct
> mana_port_context *apc,
> >             netif_napi_del_locked(napi);
> >     }
> >
> > +   /* No poller left, so this is the last chance to keep what the queue
> > +    * counted after it stopped being the live one.
> > +    */
> > +   mana_fold_rxq_stats(apc, rxq);
> > +
> 
> [Severity: Medium]
> Will this trigger a false-positive ASSERT_RTNL() warning if the driver fails 
> to
> probe?
> 
> If mana_init_port() fails during device probe (e.g., due to a memory
> allocation failure or hardware timeout), the error recovery path calls
> mana_destroy_rxqs() and then mana_destroy_rxq(), which now
> unconditionally calls mana_fold_rxq_stats().
> 
> Since the probe path in mana_probe_port() invokes mana_init_port() before
> calling register_netdev(), the RTNL lock is not held yet. This seems like it
> would trigger the new ASSERT_RTNL() inside
> mana_fold_rxq_stats() during a valid error recovery path.
> 

The false-positive warning will not cause any functional degradation and only 
show up when probe failed.

IMHO this is benign, I can move it to a cleanup patch if this is needed.

Reply via email to