← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1672144] Re: ifup service of network device stay active after driver stop

 

This bug was fixed in the package linux - 4.4.0-78.99

---------------
linux (4.4.0-78.99) xenial; urgency=low

  * linux: 4.4.0-78.99 -proposed tracker (LP: #1686645)

  * Please backport fix to reference leak in cgroup blkio throttle
    (LP: #1683976)
    - block: fix module reference leak on put_disk() call for cgroups throttle

  * UbuntuKVM guest crashed while running I/O stress test with Ubuntu kernel
    4.4.0-47-generic (LP: #1659111)
    - block: Unhash block device inodes on gendisk destruction
    - block: Use pointer to backing_dev_info from request_queue
    - block: Dynamically allocate and refcount backing_dev_info
    - block: Make blk_get_backing_dev_info() safe without open bdev
    - block: Get rid of blk_get_backing_dev_info()
    - block: Move bdev_unhash_inode() after invalidate_partition()
    - block: Unhash also block device inode for the whole device
    - block: Revalidate i_bdev reference in bd_aquire()
    - block: Initialize bd_bdi on inode initialization
    - block: Move bdi_unregister() to del_gendisk()
    - block: Allow bdi re-registration
    - bdi: Fix use-after-free in wb_congested_put()
    - block: Make del_gendisk() safer for disks without queues
    - block: Fix bdi assignment to bdev inode when racing with disk delete
    - bdi: Mark congested->bdi as internal
    - bdi: Make wb->bdi a proper reference
    - bdi: Unify bdi->wb_list handling for root wb_writeback
    - bdi: Shutdown writeback on all cgwbs in cgwb_bdi_destroy()
    - bdi: Do not wait for cgwbs release in bdi_unregister()
    - bdi: Rename cgwb_bdi_destroy() to cgwb_bdi_unregister()
    - block: Fix oops in locked_inode_to_wb_and_lock_list()
    - kobject: Export kobject_get_unless_zero()
    - block: Fix oops scsi_disk_get()

  * Touchpad not working correctly after kernel upgrade (LP: #1662589)
    - Input: ALPS - fix V8+ protocol handling (73 03 28)

  * Xenial update to v4.4.62 stable release (LP: #1683728)
    - drm/i915: Avoid tweaking evaluation thresholds on Baytrail v3
    - drm/i915: Stop using RP_DOWN_EI on Baytrail
    - usb: dwc3: gadget: delay unmap of bounced requests
    - mtd: bcm47xxpart: fix parsing first block after aligned TRX
    - MIPS: Introduce irq_stack
    - MIPS: Stack unwinding while on IRQ stack
    - MIPS: Only change $28 to thread_info if coming from user mode
    - MIPS: Switch to the irq_stack in interrupts
    - MIPS: Select HAVE_IRQ_EXIT_ON_IRQ_STACK
    - MIPS: IRQ Stack: Fix erroneous jal to plat_irq_dispatch
    - crypto: caam - fix RNG deinstantiation error checking
    - Linux 4.4.62

  * ifup service of network device stay active after driver stop (LP: #1672144)
    - net: use net->count to check whether a netns is alive or not

  * [Hyper-V] mkfs regression in kernel 4.4+ (LP: #1682215)
    - block: relax check on sg gap

  * [Feature] KBL: intel_powerclamp driver support (LP: #1591641)
    - thermal/powerclamp: remove cpu whitelist
    - thermal/powerclamp: correct cpu support check
    - thermal/powerclamp: add back module device table

  * sysfs channel reads of lps22hb pressure sensor are stale (LP: #1682103)
    - iio: st_pressure: initialize lps22hb bootime

  * Backlight control does not work and there are no entries in
    /sys/class/backlight (LP: #1667323)
    - Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6"

  * [Feature] KBL: intel_rapl driver support (LP: #1591640)
    - powercap/intel_rapl: Add support for Kabylake

  * Xenial update to v4.4.61 stable release (LP: #1682140)
    - drm/vmwgfx: Type-check lookups of fence objects
    - drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl()
    - drm/vmwgfx: avoid calling vzalloc with a 0 size in vmw_get_cap_3d_ioctl()
    - drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces
    - drm/vmwgfx: Remove getparam error message
    - drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl()
    - sysfs: be careful of error returns from ops->show()
    - staging: android: ashmem: lseek failed due to no FMODE_LSEEK.
    - arm/arm64: KVM: Take mmap_sem in stage2_unmap_vm
    - arm/arm64: KVM: Take mmap_sem in kvm_arch_prepare_memory_region
    - iio: bmg160: reset chip when probing
    - Reset TreeId to zero on SMB2 TREE_CONNECT
    - ptrace: fix PTRACE_LISTEN race corrupting task->state
    - ring-buffer: Fix return value check in test_ringbuffer()
    - metag/usercopy: Drop unused macros
    - metag/usercopy: Fix alignment error checking
    - metag/usercopy: Add early abort to copy_to_user
    - metag/usercopy: Zero rest of buffer from copy_from_user
    - metag/usercopy: Set flags before ADDZ
    - metag/usercopy: Fix src fixup in from user rapf loops
    - metag/usercopy: Add missing fixups
    - powerpc/mm: Add missing global TLB invalidate if cxl is active
    - powerpc: Don't try to fix up misaligned load-with-reservation instructions
    - nios2: reserve boot memory for device tree
    - s390/decompressor: fix initrd corruption caused by bss clear
    - s390/uaccess: get_user() should zero on failure (again)
    - MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels
    - MIPS: ralink: Fix typos in rt3883 pinctrl
    - MIPS: End spinlocks with .insn
    - MIPS: Lantiq: fix missing xbar kernel panic
    - MIPS: Flush wrong invalid FTLB entry for huge page
    - mm/mempolicy.c: fix error handling in set_mempolicy and mbind.
    - Linux 4.4.61

  * Xenial update to v4.4.60 stable release (LP: #1681862)
    - libceph: force GFP_NOIO for socket allocations
    - xen/setup: Don't relocate p2m over existing one
    - scsi: mpt3sas: fix hang on ata passthrough commands
    - scsi: sg: check length passed to SG_NEXT_CMD_LEN
    - scsi: libsas: fix ata xfer length
    - ALSA: seq: Fix race during FIFO resize
    - ALSA: hda - fix a problem for lineout on a Dell AIO machine
    - ASoC: atmel-classd: fix audio clock rate
    - ACPI: Fix incompatibility with mcount-based function graph tracing
    - ACPI: Do not create a platform_device for IOAPIC/IOxAPIC
    - tty/serial: atmel: fix race condition (TX+DMA)
    - tty/serial: atmel: fix TX path in atmel_console_write()
    - USB: fix linked-list corruption in rh_call_control()
    - KVM: x86: clear bus pointer when destroyed
    - drm/radeon: Override fpfn for all VRAM placements in radeon_evict_flags
    - mm, hugetlb: use pte_present() instead of pmd_present() in follow_huge_pmd()
    - MIPS: Lantiq: Fix cascaded IRQ setup
    - rtc: s35390a: fix reading out alarm
    - rtc: s35390a: make sure all members in the output are set
    - rtc: s35390a: implement reset routine as suggested by the reference
    - rtc: s35390a: improve irq handling
    - KVM: kvm_io_bus_unregister_dev() should never fail
    - power: reset: at91-poweroff: timely shutdown LPDDR memories
    - blk: improve order of bio handling in generic_make_request()
    - blk: Ensure users for current->bio_list can see the full list.
    - padata: avoid race in reordering
    - Linux 4.4.60

 -- Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx>  Thu, 27 Apr
2017 10:24:08 -0300

** Changed in: linux (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1672144

Title:
  ifup service of network device stay active after driver stop

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Xenial:
  Fix Released
Status in linux source package in Yakkety:
  Fix Released
Status in linux source package in Zesty:
  Fix Released

Bug description:
  The network device systemd service stay active after unload the module of this network device, that call close port (ndo_stop).
  once we try to load the NIC driver again, it try to start the ifup service of his NICs and due to the service is already up, so it fail and we didn't see the interface with the static configuration =.
  below simple reproduce with the Mellanox ConnectX4 device (driver name mlx5_core).

  Also we see this issue with Azure system, Ubuntu 17.04 guest over
  Hyper-v, the  VF failed to start after re-enable SR-IOV from VM's
  vNIC.

  
  For now we have a Work Around that to add a udev rule,
   echo DRIVERS==\"*mlx*\", SUBSYSTEM==\"net\", ACTION==\"add\",RUN+=\"/sbin/ifup --force $env{INTERFACE}\" > /lib/udev/rules.d/100-up.rules
  Example:
  #:/lib/udev/rules.d# cat 100-up.rules
  DRIVERS=="*mlx*", SUBSYSTEM=="net", ACTION=="add",RUN+="/sbin/ifup --force $env{INTERFACE}" 

  ***************************
  * More info and reproduce *
  ***************************
  # ifdown ens1f0
  RTNETLINK answers: Cannot assign requested address
  # ifup ens1f0             
  # ifconfig ens1f0         
  ens1f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
          inet 123.12.23.1  netmask 255.255.0.0  broadcast 123.12.255.255
          inet6 fe80::268a:7ff:fea1:fbdc  prefixlen 64  scopeid 0x20<link>
          ether 24:8a:07:a1:fb:dc  txqueuelen 1000  (Ethernet)            
          RX packets 0  bytes 0 (0.0 B)                                   
          RX errors 0  dropped 0  overruns 0  frame 0                     
          TX packets 17  bytes 1392 (1.3 KB)                              
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0      

  # ethtool -i ens1f0 |grep driv
  driver: mlx5_core
  # systemctl status ifup@ens1f 
  ifup@ens1f0.service  ifup@ens1f1.service            

  # systemctl status ifup@ens1f0.service 
  * ifup@ens1f0.service - ifup for ens1f0                      
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Sun 2017-03-12 09:40:04 IST; 2h 26min ago           
   Main PID: 1608 (code=exited, status=0/SUCCESS)                                      
     CGroup: /system.slice/ifup@ens1f0.service                                         

  Mar 12 09:40:04 qa-h-vrt-039 systemd[1]: Started ifup for ens1f0.
  Mar 12 09:40:04 qa-h-vrt-039 sh[1608]: ifup: interface ens1f0 already configured
  root@qa-h-vrt-039:/tmp# modprobe -rv mlx5_ib 
  rmmod mlx5_ib                                
  rmmod mlx5_core                              

  # modprobe -rv mlx5_core

  # ifconfig -a |grep ens1f0

  # lsmod |grep mlx5

  # systemctl status ifup@ens1f0.service
  * ifup@ens1f0.service - ifup for ens1f0                     
     Loaded: loaded (/lib/systemd/system/ifup@.service; static; vendor preset: enabled)
     Active: active (exited) since Sun 2017-03-12 09:40:04 IST; 2h 27min ago
   Main PID: 1608 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/ifup@ens1f0.service

  Mar 12 09:40:04 qa-h-vrt-039 systemd[1]: Started ifup for ens1f0.
  Mar 12 09:40:04 qa-h-vrt-039 sh[1608]: ifup: interface ens1f0 already configured

  # modprobe mlx5_core

  # ifconfig ens1f0
  ens1f0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
          ether 24:8a:07:a1:fb:dc  txqueuelen 1000  (Ethernet)
          RX packets 0  bytes 0 (0.0 B)
          RX errors 0  dropped 0  overruns 0  frame 0
          TX packets 0  bytes 0 (0.0 B)
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  
  # cat /etc/network/interfaces
  # This file describes the network interfaces available on your system
  # and how to activate them. For more information, see interfaces(5).

  
  # The loopback network interface
  auto lo
  iface lo inet loopback

  # The primary network interface
  auto eno1
  iface eno1 inet dhcp

  #ens1f0
  auto ens1f0
  iface ens1f0 inet static
  address 123.12.23.1
  netmask 255.255.0.0
  mtu 1500

  
  *********************************
  * Another repto and investigate *
  *********************************
  once interface is created the system starts a service that is responsible for activating it (basically runs ifup).
  so, at first shot everything works.
  at the second driver reload:
  Good flow (on good setup 4.9.0-rc5+):
  1. driver is unloaded and the interface’s “ifup” service is shutdown:
  Feb 23 00:54:09 reg-l-vrt-206-006 kernel: [67777.790189] mlx4_en: enP43508p0s2: Close port called
  Feb 23 00:54:09 reg-l-vrt-206-006 kernel: [67777.868484] hv_netvsc a2be13bb-7244-44ff-a31a-dea8d58a79da eth1: VF down: enP43508p0s2
  Feb 23 00:54:09 reg-l-vrt-206-006 kernel: [67777.868487] hv_netvsc a2be13bb-7244-44ff-a31a-dea8d58a79da eth1: Data path switched from VF: enP43508p0s2
  Feb 23 00:54:09 reg-l-vrt-206-006 kernel: [67777.869575] hv_netvsc a2be13bb-7244-44ff-a31a-dea8d58a79da eth1: VF unregistering: enP43508p0s2
  Feb 23 00:54:09 reg-l-vrt-206-006 systemd1: Stopping ifup for enP43508p0s2...
  Feb 23 00:54:09 reg-l-vrt-206-006 ifdown47196: Cannot find device "enP43508p0s2" 
  Feb 23 00:54:09 reg-l-vrt-206-006 ifdown47196: Cannot find device "enP43508p0s2" 
  Feb 23 00:54:09 reg-l-vrt-206-006 systemd1: Stopped ifup for enP43508p0s2.
  2. driver is loaded again, and a new instance of the service is started and it activates the interface.
  Feb 23 00:54:15 reg-l-vrt-206-006 kernel: [67783.130286] mlx4_en: a9f4:00:02.0: Port 1: Initializing port
  Feb 23 00:54:15 reg-l-vrt-206-006 kernel: [67783.130853] hv_netvsc a2be13bb-7244-44ff-a31a-dea8d58a79da eth1: VF registering: eth2
  Feb 23 00:54:15 reg-l-vrt-206-006 kernel: [67783.137848] mlx4_core a9f4:00:02.0 enP43508p0s2: renamed from eth2
  Feb 23 00:54:15 reg-l-vrt-206-006 systemd1: Started ifup for enP43508p0s2.
  Bad flow (on problematic setup 4.10.0-Jack):
  1. driver is unloaded, but close port not called?
  and ifup service is not shut down!!
  Feb 23 00:54:15 localhost kernel: [54441.503703] hv_netvsc cbedec5e-b321-4e5d-81dd-619d805f8f8d eth1: VF unregistering: enP48090p0s2
  2. driver is loaded again
  Feb 23 00:54:23 localhost kernel: [54449.948686] mlx4_en: bbda:00:02.0: Port 1: Initializing port
  Feb 23 00:54:23 localhost kernel: [54449.949306] hv_netvsc cbedec5e-b321-4e5d-81dd-619d805f8f8d eth1: VF registering: eth2
  Feb 23 00:54:23 localhost kernel: [54449.956623] mlx4_core bbda:00:02.0 enP48090p0s2: renamed from eth2
  Feb 23 00:54:23 localhost systemd1: Started ifup for enP48090p0s2.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1672144/+subscriptions