Re: Regression: netlink fail (triggered by iw) removes extra wlan (phy) interface

From: RafaÅ MiÅecki
Date: Wed May 04 2016 - 09:33:11 EST


Hi again and sorry for the late reply.

On 16 March 2016 at 17:00, Cong Wang <xiyou.wangcong@xxxxxxxxx> wrote:
> On Thu, Feb 25, 2016 at 5:22 AM, RafaÅ MiÅecki <zajec5@xxxxxxxxx> wrote:
>> After updating kernel in OpenWrt from 4.1.6 to 4.1.10 I noticed that
>> if "iw" command fails (which happens very rarely) my wlan0-1 interface
>> disappears. To trigger this problem easily I'm using this trivial
>> script:
>> while [ 1 ]
>> do
>> iw phy phy0 interface add mon0 type monitor
>> ifconfig mon0 up
>> iw dev mon0 del
>> done
>>
>> Whenever it goes wrong I see:
>> Failed to connect to generic netlink.
>> kern.info kernel: [ 1933.114338] br-lan: port 3(wlan0-1) entered disabled state
>> kern.info kernel: [ 1933.335568] device wlan0-1 left promiscuous mode
>> kern.info kernel: [ 1933.340385] br-lan: port 3(wlan0-1) entered disabled state
>> daemon.notice netifd: Network device 'wlan0-1' link is down
>> command failed: Too many open files in system (-23)
>>
>
> Note, for 4.1, the backport is known to be incorrect, and it is
> fixed later by:
>
> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/net/netlink/af_netlink.c?h=linux-4.1.y&id=a52ec6de6d1638e8c203d7188c55627f75371612
>
>
>> This regression is caused by commit:
>> 4e27762 netlink: Fix autobind race condition that leads to zero port ID
>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=4e27762417669cb459971635be550eb7b5598286
>> that is a backport of upstream:
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1f770c0a09da855a2b51af6d19de97fb955eca85
>>
>> This still happens with kernel 4.4.
>
>
> Looks like the goto is missing in 4.4 branch too. ;) Mind to send a patch
> to GregKH?

So I just tried kernel 4.1.23 and got that problem again while running
my bash script:

Failed to connect to generic netlink.
ifconfig: SIOCGIFFLAGS: No such device
command failed: No such device (-19)
[ 2200.114464] br-lan: port 3(wlan0-1) entered disabled state
[ 2200.125979] device wlan0-1 left promiscuous mode
[ 2200.134529] br-lan: port 3(wlan0-1) entered disabled state
Failed to connect to generic netlink.
ifconfig: SIOCGIFFLAGS: No such device
command failed: No such device (-19)

--
RafaÅ