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

** Changed in: linux (Ubuntu Zesty)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1729637

Title:
  Samba mount/umount in docker container triggers kernel Oops

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Xenial:
  Fix Committed
Status in linux source package in Zesty:
  Fix Committed

Bug description:
  == SRU Justification ==
  This bug causes Samba mount and umounts in docker container to trigger 
  a kernel Oops.  When running 2 docker containers, one as samba server and 
  another one as samba client that mounts and umounts a smb share a kernel 
  OOps can be triggered.  

  This bug happens in Xenial and Zesty, and is fixed by the following two 
commits:
  76da0704507b ("ipv6: only call ip6_route_dev_notify() once for 
NETDEV_UNREGISTER")
  12d94a804946 ("ipv6: fix NULL dereference in ip6_route_dev_notify()")

  Both commits are clean cherry picks.  76da0704507b is in mainline as of v4.12.
  Commit 12d94a804946 is in mainline as of v4.13-rc6. 
      
  == Fixes ==
  commit 76da0704507bbc51875013f6557877ab308cfd0a
  Author: WANG Cong <xiyou.wangcong at gmail.com>
  Date:   Tue Jun 20 11:42:27 2017 -0700

      ipv6: only call ip6_route_dev_notify() once for NETDEV_UNREGISTER

  commit 12d94a804946af291e24b80fc53ec86264765781
  Author: Eric Dumazet <edumazet at google.com>
  Date:   Tue Aug 15 04:09:51 2017 -0700

      ipv6: fix NULL dereference in ip6_route_dev_notify()

  == Regression Potential ==
  Both commits are specific to ipv6 and fix a regression introduced into Xenial 
and Zesty.

  == Test Case ==
  A test kernel was built with these patches and tested by the original bug 
reporter.
  The bug reporter states the test kernel resolved the bug.


  The kernel message:
    unregister_netdevice: waiting for lo to become free. Usage count = 1
  shows up, some minutes later the oops and/or warnings happens.

  The scripts to trigger the kernel Oops can be found at: 
https://github.com/fho/docker-samba-loop
  I was able to reproduce kernel Oopses on a clean Ubuntu 16.0.4 installation 
with:

  - linux-image-4.4.0-93-generic=4.4.0-93.116~14.04.1
  - linux-image-4.10.0-32-generic=4.10.0-32.36~16.04.1
  - linux-image-4.11.0-14-generic=4.11.0-14.20~16.04.1

  In a different scenario were Ubuntu 16.04 servers were running
  multiple docker containers with Nginx or small network applications in
  parallel, I was also able to reproduce the kernel Oopses also on:

  - linux-image-4.10.0-1004-gcp
  - linux-image-4.12.10-041210-generic=4.12.10-041210.20170830

  I haven't tried again to reproduce it with those kernels on a clean Ubuntu
  installation and unfortunately didn't kept the kernel logs.

  The "unregister_netdevice: waiting for lo to become free. Usage count
  = 1" messages are related to
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1711407 which is
  handled as separate issue.

  According to https://github.com/moby/moby/issues/35068 the crash is fixed by:
  https://patchwork.ozlabs.org/patch/801533/
  https://patchwork.ozlabs.org/patch/778449/
  ---
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Nov  3 09:51 seq
   crw-rw---- 1 root audio 116, 33 Nov  3 09:51 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  ApportVersion: 2.20.1-0ubuntu2.10
  Architecture: amd64
  ArecordDevices: Error: [Errno 2] No such file or directory
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', 
'/dev/snd/timer'] failed with exit code 1:
  CRDA: N/A
  DistroRelease: Ubuntu 16.04
  IwConfig: Error: [Errno 2] No such file or directory
  Lsusb: Error: command ['lsusb'] failed with exit code 1:
  MachineType: Google Google Compute Engine
  Package: linux (not installed)
  PciMultimedia:

  ProcEnviron:
   TERM=rxvt-unicode-256color
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB:

  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.10.0-37-generic 
root=UUID=bf9a017a-931d-4191-84bc-b8434dbba527 ro scsi_mod.use_blk_mq=Y 
console=ttyS0
  ProcVersionSignature: Ubuntu 4.10.0-37.41~16.04.1-generic 4.10.17
  RelatedPackageVersions:
   linux-restricted-modules-4.10.0-37-generic N/A
   linux-backports-modules-4.10.0-37-generic  N/A
   linux-firmware                             N/A
  RfKill: Error: [Errno 2] No such file or directory
  Tags:  xenial uec-images xenial uec-images
  Uname: Linux 4.10.0-37-generic x86_64
  UnreportableReason: The report belongs to a package that is not installed.
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups:

  _MarkForUpload: False
  dmi.bios.date: 01/01/2011
  dmi.bios.vendor: Google
  dmi.bios.version: Google
  dmi.board.asset.tag: A3DDBB61-646B-C60C-3999-1F1D7B7A334A
  dmi.board.name: Google Compute Engine
  dmi.board.vendor: Google
  dmi.chassis.type: 1
  dmi.chassis.vendor: Google
  dmi.modalias: 
dmi:bvnGoogle:bvrGoogle:bd01/01/2011:svnGoogle:pnGoogleComputeEngine:pvr:rvnGoogle:rnGoogleComputeEngine:rvr:cvnGoogle:ct1:cvr:
  dmi.product.name: Google Compute Engine
  dmi.sys.vendor: Google

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

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to