fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns
authorSeth Forshee <seth.forshee@canonical.com>
Thu, 11 Dec 2014 16:15:45 +0000 (10:15 -0600)
committerEric W. Biederman <ebiederm@xmission.com>
Tue, 5 Jul 2016 20:13:21 +0000 (15:13 -0500)
commit81754357770ebd900801231e7bc8d151ddc00498
treefe0e30f8ef4847787e8be19b21087fdb0d369580
parent0b3c9761d1e405514a551ed24d3ea89aea26ce14
fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns

For filesystems mounted from a user namespace on-disk ids should
be translated relative to s_users_ns rather than init_user_ns.

When an id in the filesystem doesn't exist in s_user_ns the
associated id in the inode will be set to INVALID_[UG]ID, which
turns these into de facto "nobody" ids. This actually maps pretty
well into the way most code already works, and those places where
it didn't were fixed in previous patches. Moving forward vfs code
needs to be careful to handle instances where ids in inodes may
be invalid.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
include/linux/fs.h