diff options
| author | Stephen Smalley <[email protected]> | 2025-04-24 15:28:20 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2025-04-28 08:53:22 +0000 |
| commit | 8b0ba61df5a1c44e2b3cf683831a4fc5e24ea99d (patch) | |
| tree | cdee13fcbdaa37dc9e6a2ff497b5baebd1222637 /scripts/gcc-plugins/cyc_complexity_plugin.c | |
| parent | Linux 6.15-rc4 (diff) | |
| download | kernel-8b0ba61df5a1c44e2b3cf683831a4fc5e24ea99d.tar.gz kernel-8b0ba61df5a1c44e2b3cf683831a4fc5e24ea99d.zip | |
fs/xattr.c: fix simple_xattr_list to always include security.* xattrs
The vfs has long had a fallback to obtain the security.* xattrs from the
LSM when the filesystem does not implement its own listxattr, but
shmem/tmpfs and kernfs later gained their own xattr handlers to support
other xattrs. Unfortunately, as a side effect, tmpfs and kernfs-based
filesystems like sysfs no longer return the synthetic security.* xattr
names via listxattr unless they are explicitly set by userspace or
initially set upon inode creation after policy load. coreutils has
recently switched from unconditionally invoking getxattr for security.*
for ls -Z via libselinux to only doing so if listxattr returns the xattr
name, breaking ls -Z of such inodes.
Before:
$ getfattr -m.* /run/initramfs
<no output>
$ getfattr -m.* /sys/kernel/fscaps
<no output>
$ setfattr -n user.foo /run/initramfs
$ getfattr -m.* /run/initramfs
user.foo
After:
$ getfattr -m.* /run/initramfs
security.selinux
$ getfattr -m.* /sys/kernel/fscaps
security.selinux
$ setfattr -n user.foo /run/initramfs
$ getfattr -m.* /run/initramfs
security.selinux
user.foo
Link: https://lore.kernel.org/selinux/CAFqZXNtF8wDyQajPCdGn=iOawX4y77ph0EcfcqcUUj+T87FKyA@mail.gmail.com/
Link: https://lore.kernel.org/selinux/[email protected]/
Signed-off-by: Stephen Smalley <[email protected]>
Link: https://lore.kernel.org/[email protected]
Fixes: b09e0fa4b4ea66266058ee ("tmpfs: implement generic xattr support")
Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'scripts/gcc-plugins/cyc_complexity_plugin.c')
0 files changed, 0 insertions, 0 deletions
