Skip to content

Commit

Permalink
integrity: ima audit dentry_open failure
Browse files Browse the repository at this point in the history
Until we start appraising measurements, the ima_path_check()
return code should always be 0.

- Update the ima_path_check() return code comment
- Instead of the pr_info, audit the dentry_open failure

Signed-off-by: Mimi Zohar <[email protected]>
Acked-by: Eric Paris <[email protected]>
Signed-off-by: James Morris <[email protected]>
  • Loading branch information
Mimi Zohar authored and James Morris committed Jun 4, 2009
1 parent bcb8697 commit 04288f4
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions security/integrity/ima/ima_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ static void ima_update_counts(struct ima_iint_cache *iint, int mask)
* - Opening a file for read when already open for write,
* could result in a file measurement error.
*
* Return 0 on success, an error code on failure.
* (Based on the results of appraise_measurement().)
* Always return 0 and audit dentry_open failures.
* (Return code will be based upon measurement appraisal.)
*/
int ima_path_check(struct path *path, int mask, int update_counts)
{
Expand Down Expand Up @@ -189,8 +189,13 @@ int ima_path_check(struct path *path, int mask, int update_counts)
file = dentry_open(dentry, mnt, O_RDONLY | O_LARGEFILE,
current_cred());
if (IS_ERR(file)) {
pr_info("%s dentry_open failed\n", dentry->d_name.name);
rc = PTR_ERR(file);
int audit_info = 0;

integrity_audit_msg(AUDIT_INTEGRITY_PCR, inode,
dentry->d_name.name,
"add_measurement",
"dentry_open failed",
1, audit_info);
file = NULL;
goto out;
}
Expand Down

0 comments on commit 04288f4

Please sign in to comment.