diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2022-03-08 18:09:26 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2022-05-03 16:09:03 -0400 |
commit | c29722fad4aabbf6bb841b8f058f858ec911df56 (patch) | |
tree | 35e4e508fbec1d159d5c299650fe47a31d310a74 /security/selinux | |
parent | ded34574d4d351ab0ca095a45496b393cef611c2 (diff) | |
download | linux-c29722fad4aabbf6bb841b8f058f858ec911df56.tar.gz linux-c29722fad4aabbf6bb841b8f058f858ec911df56.tar.bz2 linux-c29722fad4aabbf6bb841b8f058f858ec911df56.zip |
selinux: log anon inode class name
Log the anonymous inode class name in the security hook
inode_init_security_anon. This name is the key for name based type
transitions on the anon_inode security class on creation. Example:
type=AVC msg=audit(02/16/22 22:02:50.585:216) : avc: granted \
{ create } for pid=2136 comm=mariadbd anonclass=[io_uring] \
scontext=system_u:system_r:mysqld_t:s0 \
tcontext=system_u:system_r:mysqld_iouring_t:s0 tclass=anon_inode
Add a new LSM audit data type holding the inode and the class name.
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
[PM: adjusted 'anonclass' to be a trusted string, cgzones approved]
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'security/selinux')
-rw-r--r-- | security/selinux/hooks.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index f1ee1bfc11de..beceb89f68d9 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -2964,8 +2964,8 @@ static int selinux_inode_init_security_anon(struct inode *inode, * allowed to actually create this type of anonymous inode. */ - ad.type = LSM_AUDIT_DATA_INODE; - ad.u.inode = inode; + ad.type = LSM_AUDIT_DATA_ANONINODE; + ad.u.anonclass = name ? (const char *)name->name : "?"; return avc_has_perm(&selinux_state, tsec->sid, |