fs: prevent use after free in auditing when symlink following was denied

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>
Change-Id: Id6639dd23f00eb29ee19c8c7c714769ba25efca7
This commit is contained in:
Sasha Levin 2012-10-04 19:56:40 -04:00 committed by Artem Borisov
parent 2378a18866
commit 276d16ddf7

View file

@ -687,9 +687,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;
}