Merge branch 'stable-4.9' of git://git.infradead.org/users/pcmoore/selinux into next
This commit is contained in:
commit
8a17ef9d85
|
@ -59,6 +59,7 @@ struct common_audit_data {
|
|||
#define LSM_AUDIT_DATA_INODE 9
|
||||
#define LSM_AUDIT_DATA_DENTRY 10
|
||||
#define LSM_AUDIT_DATA_IOCTL_OP 11
|
||||
#define LSM_AUDIT_DATA_FILE 12
|
||||
union {
|
||||
struct path path;
|
||||
struct dentry *dentry;
|
||||
|
@ -75,6 +76,7 @@ struct common_audit_data {
|
|||
#endif
|
||||
char *kmod_name;
|
||||
struct lsm_ioctlop_audit *op;
|
||||
struct file *file;
|
||||
} u;
|
||||
/* this union contains LSM specific data */
|
||||
union {
|
||||
|
|
|
@ -245,6 +245,19 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
|||
}
|
||||
break;
|
||||
}
|
||||
case LSM_AUDIT_DATA_FILE: {
|
||||
struct inode *inode;
|
||||
|
||||
audit_log_d_path(ab, " path=", &a->u.file->f_path);
|
||||
|
||||
inode = file_inode(a->u.file);
|
||||
if (inode) {
|
||||
audit_log_format(ab, " dev=");
|
||||
audit_log_untrustedstring(ab, inode->i_sb->s_id);
|
||||
audit_log_format(ab, " ino=%lu", inode->i_ino);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LSM_AUDIT_DATA_IOCTL_OP: {
|
||||
struct inode *inode;
|
||||
|
||||
|
|
|
@ -1761,8 +1761,8 @@ static inline int file_path_has_perm(const struct cred *cred,
|
|||
{
|
||||
struct common_audit_data ad;
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_PATH;
|
||||
ad.u.path = file->f_path;
|
||||
ad.type = LSM_AUDIT_DATA_FILE;
|
||||
ad.u.file = file;
|
||||
return inode_has_perm(cred, file_inode(file), av, &ad);
|
||||
}
|
||||
|
||||
|
@ -1784,8 +1784,8 @@ static int file_has_perm(const struct cred *cred,
|
|||
u32 sid = cred_sid(cred);
|
||||
int rc;
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_PATH;
|
||||
ad.u.path = file->f_path;
|
||||
ad.type = LSM_AUDIT_DATA_FILE;
|
||||
ad.u.file = file;
|
||||
|
||||
if (sid != fsec->sid) {
|
||||
rc = avc_has_perm(sid, fsec->sid,
|
||||
|
@ -2365,8 +2365,8 @@ static int selinux_bprm_set_creds(struct linux_binprm *bprm)
|
|||
new_tsec->sid = old_tsec->sid;
|
||||
}
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_PATH;
|
||||
ad.u.path = bprm->file->f_path;
|
||||
ad.type = LSM_AUDIT_DATA_FILE;
|
||||
ad.u.file = bprm->file;
|
||||
|
||||
if (new_tsec->sid == old_tsec->sid) {
|
||||
rc = avc_has_perm(old_tsec->sid, isec->sid,
|
||||
|
@ -3833,8 +3833,8 @@ static int selinux_kernel_module_from_file(struct file *file)
|
|||
|
||||
/* finit_module */
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_PATH;
|
||||
ad.u.path = file->f_path;
|
||||
ad.type = LSM_AUDIT_DATA_FILE;
|
||||
ad.u.file = file;
|
||||
|
||||
fsec = file->f_security;
|
||||
if (sid != fsec->sid) {
|
||||
|
|
Loading…
Reference in New Issue