summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorSasha Levin <sasha.levin@oracle.com>2012-10-04 19:56:40 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-21 09:32:42 -0700
commitcd7700b6aa48cc94b83ad54eb3cb1fea38c0d2c8 (patch)
tree8c15703f6d685b265b782c3aa8162efdc0d697c8 /fs
parent724373bd489eb02e1999e2714fcc00658e081a9b (diff)
fs: prevent use after free in auditing when symlink following was denied
commit ffd8d101a3a7d3f2e79deee1e342801703b6dc70 upstream. Commit "fs: add link restriction audit reporting" has added auditing of failed attempts to follow symlinks. Unfortunately, the auditing was being done after the struct path structure was released earlier. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/namei.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/namei.c b/fs/namei.c
index dd1ed1b8e98e..81bd5463d908 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -692,9 +692,9 @@ static inline int may_follow_link(struct path *link, struct nameidata *nd)
if (parent->i_uid == inode->i_uid)
return 0;
+ audit_log_link_denied("follow_link", link);
path_put_conditional(link, nd);
path_put(&nd->path);
- audit_log_link_denied("follow_link", link);
return -EACCES;
}