[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b75a52cb-2c7b-2108-f256-1ebb93a82f7b@mellanox.com>
Date: Sun, 22 Jul 2018 10:29:24 +0300
From: Tariq Toukan <tariqt@...lanox.com>
To: Cong Wang <xiyou.wangcong@...il.com>,
Tariq Toukan <tariqt@...lanox.com>
Cc: David Miller <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
eranbe@...lanox.com
Subject: Re: [PATCH net-next] net: remove redundant input checks in
SIOCSIFTXQLEN case of dev_ifsioc
On 19/07/2018 8:21 PM, Cong Wang wrote:
> On Thu, Jul 19, 2018 at 7:50 AM Tariq Toukan <tariqt@...lanox.com> wrote:
>> --- a/net/core/dev_ioctl.c
>> +++ b/net/core/dev_ioctl.c
>> @@ -282,14 +282,7 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
>> return dev_mc_del_global(dev, ifr->ifr_hwaddr.sa_data);
>>
>> case SIOCSIFTXQLEN:
>> - if (ifr->ifr_qlen < 0)
>> - return -EINVAL;
>
> Are you sure we can remove this if check too?
>
> The other one is safe to remove.
>
Hmm, let's see:
dev_change_tx_queue_len gets unsigned long new_len, any negative value
passed is interpreted as a very large number, then we test:
if (new_len != (unsigned int)new_len)
This test returns true if range of unsigned long is larger than range of
unsigned int. AFAIK these ranges are Arch dependent and there is no
guarantee this holds.
Right?
Powered by blists - more mailing lists