lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250710105452.GQ721198@horms.kernel.org>
Date: Thu, 10 Jul 2025 11:54:52 +0100
From: Simon Horman <horms@...nel.org>
To: Jiawen Wu <jiawenwu@...stnetic.com>
Cc: netdev@...r.kernel.org, andrew+netdev@...n.ch, davem@...emloft.net,
	edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
	mengyuanlou@...-swift.com, stable@...r.kernel.org
Subject: Re: [PATCH net] net: libwx: fix multicast packets received count

On Thu, Jul 10, 2025 at 09:54:05AM +0800, Jiawen Wu wrote:
> On Wed, Jul 9, 2025 7:30 PM, Simon Horman wrote:
> > On Wed, Jul 09, 2025 at 02:35:12PM +0800, Jiawen Wu wrote:
> > > Multicast good packets received by PF rings that pass ethternet MAC
> > > address filtering are counted for rtnl_link_stats64.multicast. The
> > > counter is not cleared on read. Fix the duplicate counting on updating
> > > statistics.
> > >
> > > Fixes: 46b92e10d631 ("net: libwx: support hardware statistics")
> > > Cc: stable@...r.kernel.org
> > > Signed-off-by: Jiawen Wu <jiawenwu@...stnetic.com>
> > > ---
> > >  drivers/net/ethernet/wangxun/libwx/wx_hw.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/ethernet/wangxun/libwx/wx_hw.c b/drivers/net/ethernet/wangxun/libwx/wx_hw.c
> > > index 0f4be72116b8..a9519997286b 100644
> > > --- a/drivers/net/ethernet/wangxun/libwx/wx_hw.c
> > > +++ b/drivers/net/ethernet/wangxun/libwx/wx_hw.c
> > > @@ -2778,6 +2778,7 @@ void wx_update_stats(struct wx *wx)
> > >  		hwstats->fdirmiss += rd32(wx, WX_RDB_FDIR_MISS);
> > >  	}
> > >
> > > +	hwstats->qmprc = 0;
> > >  	for (i = wx->num_vfs * wx->num_rx_queues_per_pool;
> > >  	     i < wx->mac.max_rx_queues; i++)
> > >  		hwstats->qmprc += rd32(wx, WX_PX_MPRC(i));
> > 
> > Sorry if I am being dense, but I have a question:
> > 
> > The treatment of qmprc prior to this patch seems consistent
> > with other members of hwstats. What makes qmprc special?
> 
> The other members are read from CAB registers, and they are cleaned
> on read. 'qmprc' is read from BAR register, it is designed not to be
> cleared on read.

Thanks that makes perfect sense.

Do you think you could add a comment to the code regarding this.
Or at least something in the commit message.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ