aboutsummaryrefslogtreecommitdiffstats
path: root/security/integrity/ima/ima.h
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2017-01-17 06:45:41 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-12 00:41:44 -0500
commitd9cc31683a16f5619217d80c3d8e608c23c41afc (patch)
tree68115d5b3adbcaf99f291bc20efe5906ae44ed9e /security/integrity/ima/ima.h
parent270e84a1e6effd6c0c6e9b13b196b5fdaa392954 (diff)
ima: fix ima_d_path() possible race with rename
commit bc15ed663e7e53ee4dc3e60f8d09c93a0528c694 upstream. On failure to return a pathname from ima_d_path(), a pointer to dname is returned, which is subsequently used in the IMA measurement list, the IMA audit records, and other audit logging. Saving the pointer to dname for later use has the potential to race with rename. Intead of returning a pointer to dname on failure, this patch returns a pointer to a copy of the filename. Reported-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'security/integrity/ima/ima.h')
-rw-r--r--security/integrity/ima/ima.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h
index db25f54a04fe..df7834aa1b8f 100644
--- a/security/integrity/ima/ima.h
+++ b/security/integrity/ima/ima.h
@@ -173,7 +173,7 @@ int ima_store_template(struct ima_template_entry *entry, int violation,
173 struct inode *inode, 173 struct inode *inode,
174 const unsigned char *filename, int pcr); 174 const unsigned char *filename, int pcr);
175void ima_free_template_entry(struct ima_template_entry *entry); 175void ima_free_template_entry(struct ima_template_entry *entry);
176const char *ima_d_path(const struct path *path, char **pathbuf); 176const char *ima_d_path(const struct path *path, char **pathbuf, char *filename);
177 177
178/* IMA policy related functions */ 178/* IMA policy related functions */
179int ima_match_policy(struct inode *inode, enum ima_hooks func, int mask, 179int ima_match_policy(struct inode *inode, enum ima_hooks func, int mask,