diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2016-06-06 16:21:37 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2016-06-06 16:21:37 +0200 |
commit | b581755b1c565391c72d03b157ba2dd0b18e9d15 (patch) | |
tree | 9db3109b50d47faad07d457feb671eb0e90fcbe1 /net/unix/af_unix.c | |
parent | af8c34ce6ae32addda3788d54a7e340cad22516b (diff) | |
download | linux-b581755b1c565391c72d03b157ba2dd0b18e9d15.tar.bz2 |
ovl: xattr filter fix
a) ovl_need_xattr_filter() is wrong, we can have multiple lower layers
overlaid, all of which (except the lowest one) honouring the
"trusted.overlay.opaque" xattr. So need to filter everything except the
bottom and the pure-upper layer.
b) we no longer can assume that inode is attached to dentry in
get/setxattr.
This patch unconditionally filters private xattrs to fix both of the above.
Performance impact for get/removexattrs is likely in the noise.
For listxattrs it might be measurable in pathological cases, but I very
much hope nobody cares. If they do, we'll fix it then.
Reported-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: b96809173e94 ("security_d_instantiate(): move to the point prior to attaching dentry to inode")
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions