[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5547CEC4.3060204@redhat.com>
Date: Mon, 04 May 2015 15:55:48 -0400
From: Vlad Yasevich <vyasevic@...hat.com>
To: David Miller <davem@...emloft.net>, vyasevich@...il.com
CC: netdev@...r.kernel.org, jpirko@...hat.com, vfalico@...il.com
Subject: Re: [PATCH] core: Correct an over-stringent device loop detection.
On 05/04/2015 02:58 PM, David Miller wrote:
> From: Vladislav Yasevich <vyasevich@...il.com>
> Date: Sat, 2 May 2015 21:33:44 -0400
>
>> The code in __netdev_upper_dev_link() has an over-stringent
>> loop detection logic that actually prevents valid configurations
>> from working correctly.
>>
>> In particular, the logic returns an error if an upper device
>> is already in the list of all upper devices for a given dev.
>> This particular check seems to be a overzealous as it disallows
>> perfectly valid configurations. For example:
>> # ip l a link eth0 name eth0.10 type vlan id 10
>> # ip l a dev br0 typ bridge
>> # ip l s eth0.10 master br0
>> # ip l s eth0 master br0 <--- Will fail
>>
>> If you switch the last two commands (add eth0 first), then both
>> will succeed. If after that, you remove eth0 and try to re-add
>> it, it will fail!
>>
>> It appears to be enough to simply check adj_list to keeps things
>> safe.
>>
>> I've tried stacking multiple devices multiple times in all different
>> combinations, and either rx_handler registration prevented the stacking
>> of the device linking cought the error.
>>
>> Signed-off-by: Vladislav Yasevich <vyasevic@...hat.com>
>
> Applied, thanks Vlad.
>
Hi Dave
Can you also queue it for stable. This has been broken for a while.
Thanks
-vlad
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists