[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180108233547.40035769@laptop>
Date: Mon, 8 Jan 2018 23:35:47 -0800
From: Jakub Kicinski <kubakici@...pl>
To: Tariq Toukan <tariqt@...lanox.com>
Cc: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org,
Eran Ben Elisha <eranbe@...lanox.com>,
Eugenia Emantayev <eugenia@...lanox.com>
Subject: Re: [PATCH net-next 1/3] ethtool: Ensure new ring parameters are
within bounds during SRINGPARAM
On Tue, 9 Jan 2018 09:30:05 +0200
Tariq Toukan <tariqt@...lanox.com> wrote:
> >> diff --git a/net/core/ethtool.c b/net/core/ethtool.c
> >> index 50a79203043b..9ea7cd52fde0 100644
> >> --- a/net/core/ethtool.c
> >> +++ b/net/core/ethtool.c
> >> @@ -1704,14 +1704,23 @@ static int ethtool_get_ringparam(struct
> >> net_device *dev, void __user *useraddr)
> >> static int ethtool_set_ringparam(struct net_device *dev, void
> >> __user *useraddr) {
> >> - struct ethtool_ringparam ringparam;
> >> + struct ethtool_ringparam ringparam, max = { .cmd =
> >> ETHTOOL_GRINGPARAM };
> >> - if (!dev->ethtool_ops->set_ringparam)
> >> + if (!dev->ethtool_ops->set_ringparam
> >> || !dev->ethtool_ops->get_ringparam) return -EOPNOTSUPP;
> >>
> >> if (copy_from_user(&ringparam, useraddr,
> >> sizeof(ringparam))) return -EFAULT;
> >>
> >> + dev->ethtool_ops->get_ringparam(dev, &max);
> >
> > Perhaps check the return value here? It's pretty unlikely but
> > get_ringparam may fail.
> >
>
> get_ringparam NDO returns void.
Ah, you're right, I looked at the return of ethtool_get_ringparam().
Powered by blists - more mailing lists