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]
Date:   Tue, 18 Oct 2016 16:45:51 +0300
From:   Denis Kirjanov <kda@...ux-powerpc.org>
To:     Jarod Wilson <jarod@...hat.com>
Cc:     linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH net-next 09/15] ethernet/dlink: use core min/max MTU checking

On 10/17/16, Jarod Wilson <jarod@...hat.com> wrote:
> dl2k: min_mtu 68, max_mtu 1536 or 8000, depending on hardware
> - Removed change_mtu, does nothing productive anymore
>
> sundance: min_mtu 68, max_mtu 8191
>
> CC: netdev@...r.kernel.org
> CC: Denis Kirjanov <kda@...ux-powerpc.org>
> Signed-off-by: Jarod Wilson <jarod@...hat.com>
> ---
>  drivers/net/ethernet/dlink/dl2k.c     | 22 ++++------------------
>  drivers/net/ethernet/dlink/sundance.c |  6 ++++--
>  2 files changed, 8 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/net/ethernet/dlink/dl2k.c
> b/drivers/net/ethernet/dlink/dl2k.c
> index 78f1446..8c95a8a 100644
> --- a/drivers/net/ethernet/dlink/dl2k.c
> +++ b/drivers/net/ethernet/dlink/dl2k.c
> @@ -76,7 +76,6 @@ static void rio_free_tx (struct net_device *dev, int
> irq);
>  static void tx_error (struct net_device *dev, int tx_status);
>  static int receive_packet (struct net_device *dev);
>  static void rio_error (struct net_device *dev, int int_status);
> -static int change_mtu (struct net_device *dev, int new_mtu);
>  static void set_multicast (struct net_device *dev);
>  static struct net_device_stats *get_stats (struct net_device *dev);
>  static int clear_stats (struct net_device *dev);
> @@ -106,7 +105,6 @@ static const struct net_device_ops netdev_ops = {
>  	.ndo_set_rx_mode	= set_multicast,
>  	.ndo_do_ioctl		= rio_ioctl,
>  	.ndo_tx_timeout		= rio_tx_timeout,
> -	.ndo_change_mtu		= change_mtu,
>  };
>
>  static int
> @@ -230,6 +228,10 @@ rio_probe1 (struct pci_dev *pdev, const struct
> pci_device_id *ent)
>  #if 0
>  	dev->features = NETIF_F_IP_CSUM;
>  #endif
> +	/* MTU range: 68 - 1536 or 8000 */
> +	dev->min_mtu = ETH_MIN_MTU;
> +	dev->max_mtu = np->jumbo ? MAX_JUMBO : PACKET_SIZE;
> +
>  	pci_set_drvdata (pdev, dev);
>
>  	ring_space = pci_alloc_consistent (pdev, TX_TOTAL_SIZE, &ring_dma);
> @@ -1198,22 +1200,6 @@ clear_stats (struct net_device *dev)
>  	return 0;
>  }
>
> -
> -static int
> -change_mtu (struct net_device *dev, int new_mtu)
> -{
> -	struct netdev_private *np = netdev_priv(dev);
> -	int max = (np->jumbo) ? MAX_JUMBO : 1536;
> -
> -	if ((new_mtu < 68) || (new_mtu > max)) {
> -		return -EINVAL;
> -	}
> -
> -	dev->mtu = new_mtu;
> -
> -	return 0;
> -}
> -
>  static void
>  set_multicast (struct net_device *dev)
>  {
> diff --git a/drivers/net/ethernet/dlink/sundance.c
> b/drivers/net/ethernet/dlink/sundance.c
> index 79d8009..eab36ac 100644
> --- a/drivers/net/ethernet/dlink/sundance.c
> +++ b/drivers/net/ethernet/dlink/sundance.c
> @@ -580,6 +580,10 @@ static int sundance_probe1(struct pci_dev *pdev,
>  	dev->ethtool_ops = &ethtool_ops;
>  	dev->watchdog_timeo = TX_TIMEOUT;
>
> +	/* MTU range: 68 - 8191 */
> +	dev->min_mtu = ETH_MIN_MTU;
> +	dev->max_mtu = 8191;
> +
ICPlus datasheet defines the max frame size like 0x1514 or 0x4491
based on the RcvLargeFrames bit in the MACCtrl0 register

>  	pci_set_drvdata(pdev, dev);
>
>  	i = register_netdev(dev);
> @@ -713,8 +717,6 @@ static int sundance_probe1(struct pci_dev *pdev,
>
>  static int change_mtu(struct net_device *dev, int new_mtu)
>  {
> -	if ((new_mtu < 68) || (new_mtu > 8191)) /* Set by RxDMAFrameLen */
> -		return -EINVAL;
>  	if (netif_running(dev))
>  		return -EBUSY;
>  	dev->mtu = new_mtu;
> --
> 2.10.0
>
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ