From: Vitaly Kuznetsov <vkuznets@redhat.com>
To: 吉藤英明 <hideaki.yoshifuji@miraclelinux.com>
Cc: network dev <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: [PATCH RFC net-next] net: Allow name change of IFF_UP interfaces
Date: Wed, 09 Aug 2017 17:05:03 +0200 [thread overview]
Message-ID: <87efskye74.fsf@vitty.brq.redhat.com> (raw)
In-Reply-To: <CAPA1RqA0q3W-3PsqDpY8_xiBB18SCWTV1gT+BKOTqQfAA5D8Fg@mail.gmail.com> ("吉藤英明"'s message of "Wed, 9 Aug 2017 21:29:38 +0900")
吉藤英明 <hideaki.yoshifuji@miraclelinux.com> writes:
> 2017-08-09 19:42 GMT+09:00 Vitaly Kuznetsov <vkuznets@redhat.com>:
>> What happens is: __netvsc_vf_setup() does dev_open() for the VF device and
>> the consecutive dev_change_name() fails with -EBUSY because of the
>> (dev->flags & IFF_UP) check. The history of this code predates git so I
>> wasn't able to figure out when and why the check was added, everything
>> seems to work fine without it. dev_change_name() has only two call sites,
>> both hold rtnl_lock.
>>
>> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
>> ---
>> RFC: I'm probably miossing something obvious and the check can't be just
>> dropped. Stephen suggested a different solution to the isuue:
>> https://www.spinics.net/lists/netdev/msg448243.html but it has its own
>> drawbacks.
>> ---
>> net/core/dev.c | 2 --
>> 1 file changed, 2 deletions(-)
>>
>> diff --git a/net/core/dev.c b/net/core/dev.c
>> index 1d75499add72..c608e233a78a 100644
>> --- a/net/core/dev.c
>> +++ b/net/core/dev.c
>> @@ -1186,8 +1186,6 @@ int dev_change_name(struct net_device *dev, const char *newname)
>> BUG_ON(!dev_net(dev));
>>
>> net = dev_net(dev);
>> - if (dev->flags & IFF_UP)
>> - return -EBUSY;
>>
>> write_seqcount_begin(&devnet_rename_seq);
>
> I think people expect the name won't change while up
> and I don't think it is a good idea to allow changing the
> name while the interface is up.
I understand the 'legacy' concern but at the same time we don't want to
have aftificial limitations too. Name change, in particular, doesn't
happen 'under the hood' -- someone privileged enough needs to request
the change.
Can you think of any particular real world scenarios which are broken by
the change?
--
Vitaly
next prev parent reply other threads:[~2017-08-09 15:05 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-09 10:42 [PATCH RFC net-next] net: Allow name change of IFF_UP interfaces Vitaly Kuznetsov
2017-08-09 12:29 ` 吉藤英明
2017-08-09 15:05 ` Vitaly Kuznetsov [this message]
2017-08-09 16:10 ` Andrew Lunn
2017-08-10 8:41 ` Vitaly Kuznetsov
2017-08-10 9:03 ` Eric Dumazet
2017-08-10 10:01 ` Vitaly Kuznetsov
2017-08-10 14:13 ` Andrew Lunn
2017-08-10 15:24 ` Vitaly Kuznetsov
2017-08-10 16:27 ` Andrew Lunn
2017-08-10 16:33 ` Vitaly Kuznetsov
2017-08-10 16:48 ` David Miller
2017-08-10 16:55 ` David Ahern
2017-08-10 17:16 ` Stephen Hemminger
2017-08-11 9:01 ` Vitaly Kuznetsov
2017-08-10 14:10 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87efskye74.fsf@vitty.brq.redhat.com \
--to=vkuznets@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=hideaki.yoshifuji@miraclelinux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.