mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
audit: treat s_id as an untrusted string
The use of s_id should go through the untrusted string path, just to be extra careful. Signed-off-by: Kees Cook <keescook@chromium.org> Acked-by: Mimi Zohar <zohar@us.ibm.com> Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
@@ -235,10 +235,11 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
||||
audit_log_d_path(ab, "path=", &a->u.path);
|
||||
|
||||
inode = a->u.path.dentry->d_inode;
|
||||
if (inode)
|
||||
audit_log_format(ab, " dev=%s ino=%lu",
|
||||
inode->i_sb->s_id,
|
||||
inode->i_ino);
|
||||
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_DENTRY: {
|
||||
@@ -248,10 +249,11 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
||||
audit_log_untrustedstring(ab, a->u.dentry->d_name.name);
|
||||
|
||||
inode = a->u.dentry->d_inode;
|
||||
if (inode)
|
||||
audit_log_format(ab, " dev=%s ino=%lu",
|
||||
inode->i_sb->s_id,
|
||||
inode->i_ino);
|
||||
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_INODE: {
|
||||
@@ -266,8 +268,9 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
||||
dentry->d_name.name);
|
||||
dput(dentry);
|
||||
}
|
||||
audit_log_format(ab, " dev=%s ino=%lu", inode->i_sb->s_id,
|
||||
inode->i_ino);
|
||||
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_TASK:
|
||||
|
Reference in New Issue
Block a user