← Back to team overview

kernel-packages team mailing list archive

[Bug 1445664] Re: kernel 3.16 breaks POSIX extended ACLs over NFS

 

apport information

** Tags added: apport-collected trusty

** Description changed:

  I have a development environment that uses Vagrant with NFS shares to a
  Trusty development VM from OS X laptops.
  
  After the upgrade to the HWE kernel 3.16, installing Ruby gems into the
  NFS mount inside the VM failed because of install(1) failing with
  permission errors. Debugging revealed that it's trying to set POSIX
  extended ACLs using setxattr(); On 3.13 this operation failed with
  EOPNOTSUPP (the server does not support extended ACLs), but on 3.16 it
  fails with EPERM, even if the NFS mount is explicitly mounted with
  "noacl".
  
  Debugging with ftrace and source diving suggests that kernel 3.16
  refactored the POSIX extended ACL code so that before the call even hits
  the NFS layer, it passes through a generic permission-check layer. It
  appears that that layer is not aware of NFS UID remapping, and so fails
  the call regardless of what the server would have done.
  
  A simple test case is `install -c -m 0755 <some file> <some path in an
  NFS mount>`, which will succeed on 3.13 and fail on 3.16.
  
  The broken system is:
  
  vagrant@packer-vmware-iso:~$ lsb_release -a; uname -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 14.04.2 LTS
  Release:        14.04
  Codename:       trusty
  Linux packer-vmware-iso 3.16.0-34-generic #47~14.04.1-Ubuntu SMP Fri Apr 10 17:49:16 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
+ --- 
+ AlsaDevices:
+  total 0
+  crw-rw---- 1 root audio 116,  1 Dec 22 14:39 seq
+  crw-rw---- 1 root audio 116, 33 Dec 22 14:39 timer
+ AplayDevices: Error: [Errno 2] No such file or directory
+ ApportVersion: 2.14.1-0ubuntu3.19
+ 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: Error: [Errno 2] No such file or directory
+ DistroRelease: Ubuntu 14.04
+ HibernationDevice: RESUME=/dev/mapper/packer--vmware--iso--vg-swap_1
+ InstallationDate: Installed on 2015-09-02 (111 days ago)
+ InstallationMedia: Ubuntu-Server 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.3)
+ IwConfig: Error: [Errno 2] No such file or directory
+ Lsusb: Error: command ['lsusb'] failed with exit code 1: unable to initialize libusb: -99
+ MachineType: VMware, Inc. VMware Virtual Platform
+ Package: linux (not installed)
+ PciMultimedia:
+  
+ ProcFB: 0 svgadrmfb
+ ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.16.0-57-generic root=/dev/mapper/packer--vmware--iso--vg-root ro quiet
+ ProcVersionSignature: Ubuntu 3.16.0-57.77~14.04.1-generic 3.16.7-ckt20
+ RelatedPackageVersions:
+  linux-restricted-modules-3.16.0-57-generic N/A
+  linux-backports-modules-3.16.0-57-generic  N/A
+  linux-firmware                             1.127.15
+ RfKill: Error: [Errno 2] No such file or directory
+ Tags:  trusty
+ Uname: Linux 3.16.0-57-generic x86_64
+ UpgradeStatus: No upgrade log present (probably fresh install)
+ UserGroups: adm cdrom dip docker lpadmin plugdev sambashare sudo
+ _MarkForUpload: True
+ dmi.bios.date: 05/20/2014
+ dmi.bios.vendor: Phoenix Technologies LTD
+ dmi.bios.version: 6.00
+ dmi.board.name: 440BX Desktop Reference Platform
+ dmi.board.vendor: Intel Corporation
+ dmi.board.version: None
+ dmi.chassis.asset.tag: No Asset Tag
+ dmi.chassis.type: 1
+ dmi.chassis.vendor: No Enclosure
+ dmi.chassis.version: N/A
+ dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr6.00:bd05/20/2014:svnVMware,Inc.:pnVMwareVirtualPlatform:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:
+ dmi.product.name: VMware Virtual Platform
+ dmi.product.version: None
+ dmi.sys.vendor: VMware, Inc.

** Attachment added: "BootDmesg.txt"
   https://bugs.launchpad.net/bugs/1445664/+attachment/4539009/+files/BootDmesg.txt

-- 
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/1445664

Title:
  kernel 3.16 breaks POSIX extended ACLs over NFS

Status in linux package in Ubuntu:
  Incomplete

Bug description:
  I have a development environment that uses Vagrant with NFS shares to
  a Trusty development VM from OS X laptops.

  After the upgrade to the HWE kernel 3.16, installing Ruby gems into
  the NFS mount inside the VM failed because of install(1) failing with
  permission errors. Debugging revealed that it's trying to set POSIX
  extended ACLs using setxattr(); On 3.13 this operation failed with
  EOPNOTSUPP (the server does not support extended ACLs), but on 3.16 it
  fails with EPERM, even if the NFS mount is explicitly mounted with
  "noacl".

  Debugging with ftrace and source diving suggests that kernel 3.16
  refactored the POSIX extended ACL code so that before the call even
  hits the NFS layer, it passes through a generic permission-check
  layer. It appears that that layer is not aware of NFS UID remapping,
  and so fails the call regardless of what the server would have done.

  A simple test case is `install -c -m 0755 <some file> <some path in an
  NFS mount>`, which will succeed on 3.13 and fail on 3.16.

  The broken system is:

  vagrant@packer-vmware-iso:~$ lsb_release -a; uname -a
  No LSB modules are available.
  Distributor ID: Ubuntu
  Description:    Ubuntu 14.04.2 LTS
  Release:        14.04
  Codename:       trusty
  Linux packer-vmware-iso 3.16.0-34-generic #47~14.04.1-Ubuntu SMP Fri Apr 10 17:49:16 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
  --- 
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Dec 22 14:39 seq
   crw-rw---- 1 root audio 116, 33 Dec 22 14:39 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  ApportVersion: 2.14.1-0ubuntu3.19
  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: Error: [Errno 2] No such file or directory
  DistroRelease: Ubuntu 14.04
  HibernationDevice: RESUME=/dev/mapper/packer--vmware--iso--vg-swap_1
  InstallationDate: Installed on 2015-09-02 (111 days ago)
  InstallationMedia: Ubuntu-Server 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140722.3)
  IwConfig: Error: [Errno 2] No such file or directory
  Lsusb: Error: command ['lsusb'] failed with exit code 1: unable to initialize libusb: -99
  MachineType: VMware, Inc. VMware Virtual Platform
  Package: linux (not installed)
  PciMultimedia:
   
  ProcFB: 0 svgadrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.16.0-57-generic root=/dev/mapper/packer--vmware--iso--vg-root ro quiet
  ProcVersionSignature: Ubuntu 3.16.0-57.77~14.04.1-generic 3.16.7-ckt20
  RelatedPackageVersions:
   linux-restricted-modules-3.16.0-57-generic N/A
   linux-backports-modules-3.16.0-57-generic  N/A
   linux-firmware                             1.127.15
  RfKill: Error: [Errno 2] No such file or directory
  Tags:  trusty
  Uname: Linux 3.16.0-57-generic x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip docker lpadmin plugdev sambashare sudo
  _MarkForUpload: True
  dmi.bios.date: 05/20/2014
  dmi.bios.vendor: Phoenix Technologies LTD
  dmi.bios.version: 6.00
  dmi.board.name: 440BX Desktop Reference Platform
  dmi.board.vendor: Intel Corporation
  dmi.board.version: None
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 1
  dmi.chassis.vendor: No Enclosure
  dmi.chassis.version: N/A
  dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr6.00:bd05/20/2014:svnVMware,Inc.:pnVMwareVirtualPlatform:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:
  dmi.product.name: VMware Virtual Platform
  dmi.product.version: None
  dmi.sys.vendor: VMware, Inc.

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


References