Bug 29798

Summary: mcc: virtual wireless interface = denial of service
Product: Mageia Reporter: Pierre Fortin <pf>
Component: RPM PackagesAssignee: Kernel and Drivers maintainers <kernel>
Status: NEW --- QA Contact:
Severity: normal    
Priority: Normal CC: davidwhodgins, fri, mageiatools
Version: 8   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: CVE:
Status comment:
Attachments: Network Center

Description Pierre Fortin 2021-12-21 01:56:00 CET
Description of problem:

Defined a virtual WiFi interface:
 ifconfig wlp3s0:1 192.168.10.14
Using mcc to setup the new network only shows wlp3s0.

To verify mcc handles virtual interfaces, I setup:
 ifconfig eno1:1 192.168.10.214
When checking ethernet, I see:
  eno1
  eno1:1
  wlp3s0:1
The virtual WiFi interface should appear in the wireless section.

Version-Release number of selected component (if applicable):


How reproducible:  Always


Steps to Reproduce:
1. create virtual WiFi interface
2. Try to configure it via mcc wireless
3. it's not there; it's under ethernet
Comment 1 Pierre Fortin 2021-12-21 02:55:24 CET
Ouch!  Once configured and enabled, the virtual interface preempts the real WiFi interface. Got these messages:
Too late to run INIT block at /usr/lib64/perl5/vendor_perl/Glib/Object/Introspection.pm line 257.
Ignore the following Glib::Object::Introspection & Gtk3 warnings
Subroutine Gtk3::main redefined at /usr/share/perl5/vendor_perl/Gtk3.pm line 539.
Failed to create host name resolver: Invalid host name
run-parts: /etc/sysconfig/network-scripts/hostname.d/avahi exited with return code 1

------------------ this section repeated 3 more times
Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.
------------------

Failed to kill daemon. (No such file or directory)
Error for wireless request "Set Encode" (8B2A) :
    SET failed on device wlp3s0:1 ; No such device.

# ifonfig wlp3s0
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.14  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a2a8:cdff:fead:3b71  prefixlen 64  scopeid 0x20<link>
        ether a0:a8:cd:ad:3b:71  txqueuelen 1000  (Ethernet)
        RX packets 29270453  bytes 41865921688 (38.9 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7351932  bytes 969330752 (924.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ifonfig wlp3s0:1
wlp3s0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.14  netmask 255.255.255.0  broadcast 192.168.10.255
        ether a0:a8:cd:ad:3b:71  txqueuelen 1000  (Ethernet)

Configuring this virtual interface, I was not asked for SSID & key; yet interface appears in routing table with a better metric than real wireless:
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.1    0.0.0.0         UG    10     0        0 wlp3s0
0.0.0.0         192.168.1.1     0.0.0.0         UG    35     0        0 wlp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 wlp3s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp3s0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 wlp3s0

Downing this virtual interface does not clean up; its IP remains in the routing table:
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.10.1    0.0.0.0         UG    10     0        0 wlp3s0
0.0.0.0         192.168.1.1     0.0.0.0         UG    35     0        0 wlp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 wlp3s0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlp3s0

Also, "ifconfig" no longer shows this interface; but this does:
# ifconfig wlp3s0:1
wlp3s0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether a0:a8:cd:ad:3b:71  txqueuelen 1000  (Ethernet)

Downing the main WiFi and bringing it back up brings 192.168.10.1 back into the routing table, killing traffic since it's higher priority too...

I had to reconfigure my WiFi before I could restore service. Having used virtual ethernet interfaces many, many times, this was not expected.
Pierre Fortin 2021-12-21 03:00:09 CET

Summary: mcc: virtual wireless interface in wrong place (ethernet vs wireless) => mcc: virtual wireless interface = denial of service

Comment 2 Pierre Fortin 2021-12-21 05:20:52 CET
Created attachment 13060 [details]
Network Center

Long after deleting the virtual interface, there's this...
Comment 3 Lewis Smith 2021-12-22 20:51:36 CET
Thank you for the report.
I am not sure that the bug title is what it is about, but leave it to someone familiar with this field to do better.

Assigning to the kernel/drivers people, CC'ing DaveH & Morgan in the hope that they can clarify things.

CC: (none) => davidwhodgins, fri
Assignee: bugsquad => kernel

Comment 4 Lewis Smith 2021-12-23 20:23:21 CET
Unsure whether this should be with kernel/drivers, or MageiaTools, so CC'ing the latter.

CC: (none) => mageiatools