Iirc, as of 4.8 what you're seeing is upstream behavior, and yes it did
get backported to xenial in the series you referenced.

Even if the inode is created with INVALID_UID/INVALID_GID you aren't
going to be able to do anything with it. So I guess the question is why
you need to be able to do that and whether or not you can accomplish
that some other way. If not then the behavior would need to change
upstream - even if we fix it in xenial 4.4 kernels you'll probably just
hit it again later.

Note that you don't actually need to enter the user namespace to create
the file, you just need fsuid/fsgid to be ids which have a mapping in
the user ns.

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

Title:
  open(2) returns EOVERFLOW within tmpfs+userns

Status in linux package in Ubuntu:
  Confirmed

Bug description:
  On Ubuntu 4.4.0-59.80-generic 4.4.35, open(2) returns EOVERFLOW when
  creating a file in tmpfs with user namespace enabled.

  This issue wasn't present in 4.4.0-47 and has probably been introduced
  by https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1634964

  Step to reproduce:

  $ unshare -r -U -m /bin/bash
  # mount -t tmpfs tmpfs /mnt
  # echo $$
  2354

  In another terminal:

  $ sudo nsenter -t 2354 -m      
  # touch /mnt/foo
  touch: cannot touch '/mnt/foo': Value too large for defined data type

  Note that we are not joining the user namespace when creating the file
  but we would expect `touch' to succeed and create the file with an
  inode set to INVALID_UID/GID (i.e. nobody:nogroup) within the mount
  namespace.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1659087/+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