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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <PAXPR04MB851036E98561133AF4945FA1883EA@PAXPR04MB8510.eurprd04.prod.outlook.com>
Date: Mon, 25 Aug 2025 01:36:13 +0000
From: Wei Fang <wei.fang@....com>
To: Shenwei Wang <shenwei.wang@....com>
CC: Clark Wang <xiaoning.wang@....com>, Stanislav Fomichev <sdf@...ichev.me>,
	"imx@...ts.linux.dev" <imx@...ts.linux.dev>, "netdev@...r.kernel.org"
	<netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org"
	<linux-kernel@...r.kernel.org>, dl-linux-imx <linux-imx@....com>, Andrew Lunn
	<andrew+netdev@...n.ch>, "David S. Miller" <davem@...emloft.net>, Eric
 Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
	<pabeni@...hat.com>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann
	<daniel@...earbox.net>, Jesper Dangaard Brouer <hawk@...nel.org>, John
 Fastabend <john.fastabend@...il.com>
Subject: RE: [PATCH v2 net-next 4/5] net: fec: add change_mtu to support
 dynamic buffer allocation

> > > +static int fec_change_mtu(struct net_device *ndev, int new_mtu) {
> > > +	struct fec_enet_private *fep = netdev_priv(ndev);
> > > +	int order, done;
> > > +	bool running;
> > > +
> > > +	order = get_order(new_mtu + ETH_HLEN + ETH_FCS_LEN);
> > > +	if (fep->pagepool_order == order) {
> > > +		WRITE_ONCE(ndev->mtu, new_mtu);
> >
> > No need to write ndev->mtu, same below, because __netif_set_mtu() will
> > help update it.
> 
> It will only update the ndev->mtu if the driver doesn't have its own chang_mtu
> handler.
> 
> int __netif_set_mtu(struct net_device *dev, int new_mtu) {
> 	const struct net_device_ops *ops = dev->netdev_ops;
> 
> 	if (ops->ndo_change_mtu)
> 		return ops->ndo_change_mtu(dev, new_mtu);
> 
> 	/* Pairs with all the lockless reads of dev->mtu in the stack */
> 	WRITE_ONCE(dev->mtu, new_mtu);
> 	return 0;
> }

Oh, I misread the code, so sorry.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ