From: James Morris <jmorris@redhat.com>
This patch adds dname to audit output when a path cannot be generated.
This makes analysis of SELinux audit logs easier.
Patch by Stephen Smalley <sds@epoch.ncsc.mil>.
break;
case AVC_AUDIT_DATA_FS:
if (a->u.fs.dentry) {
+ struct dentry *dentry = a->u.fs.dentry;
if (a->u.fs.mnt) {
- p = d_path(a->u.fs.dentry,
+ p = d_path(dentry,
a->u.fs.mnt,
avc_audit_buffer,
PAGE_SIZE);
if (p)
printk(" path=%s", p);
+ } else {
+ printk(" name=%s", dentry->d_name.name);
}
- inode = a->u.fs.dentry->d_inode;
+ inode = dentry->d_inode;
} else if (a->u.fs.inode) {
+ struct dentry *dentry;
inode = a->u.fs.inode;
+ dentry = d_find_alias(inode);
+ if (dentry) {
+ printk(" name=%s", dentry->d_name.name);
+ dput(dentry);
+ }
}
if (inode)
printk(" dev=%s ino=%ld",