fs,userns: Change inode_capable to capable_wrt_inode_uidgid
authorAndy Lutomirski <[email protected]>
Tue, 10 Jun 2014 19:45:42 +0000 (12:45 -0700)
committerLinus Torvalds <[email protected]>
Tue, 10 Jun 2014 20:57:22 +0000 (13:57 -0700)
commit23adbe12ef7d3d4195e80800ab36b37bee28cd03
tree000f8f8b3172aa6629b7c9a4148a96549a07acb6
parent5b174fd6472b1d6b6402b30210a212f3fd770d96
fs,userns: Change inode_capable to capable_wrt_inode_uidgid

The kernel has no concept of capabilities with respect to inodes; inodes
exist independently of namespaces.  For example, inode_capable(inode,
CAP_LINUX_IMMUTABLE) would be nonsense.

This patch changes inode_capable to check for uid and gid mappings and
renames it to capable_wrt_inode_uidgid, which should make it more
obvious what it does.

Fixes CVE-2014-4014.

Cc: Theodore Ts'o <[email protected]>
Cc: Serge Hallyn <[email protected]>
Cc: "Eric W. Biederman" <[email protected]>
Cc: Dave Chinner <[email protected]>
Cc: [email protected]
Signed-off-by: Andy Lutomirski <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
fs/attr.c
fs/inode.c
fs/namei.c
fs/xfs/xfs_ioctl.c
include/linux/capability.h
kernel/capability.c