aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vfs_lookup.c
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2020-02-21 01:44:31 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2020-02-21 01:44:31 +0000
commit721a81c369ac039ad98c2caed4e25d5b338b5308 (patch)
treeb1d91c467f39edc674161cd062219b16782a5d39 /sys/kern/vfs_lookup.c
parent7de6c5ebbddfec6c6ccd8e00c6e53336f046be5d (diff)
downloadsrc-721a81c369ac039ad98c2caed4e25d5b338b5308.tar.gz
src-721a81c369ac039ad98c2caed4e25d5b338b5308.zip
Notes
Diffstat (limited to 'sys/kern/vfs_lookup.c')
-rw-r--r--sys/kern/vfs_lookup.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c
index 1659598d5e49..58a97a1337f0 100644
--- a/sys/kern/vfs_lookup.c
+++ b/sys/kern/vfs_lookup.c
@@ -403,14 +403,6 @@ namei(struct nameidata *ndp)
ndp->ni_rootdir = fdp->fd_rdir;
ndp->ni_topdir = fdp->fd_jdir;
- /*
- * If we are auditing the kernel pathname, save the user pathname.
- */
- if (cnp->cn_flags & AUDITVNODE1)
- AUDIT_ARG_UPATH1(td, ndp->ni_dirfd, cnp->cn_pnbuf);
- if (cnp->cn_flags & AUDITVNODE2)
- AUDIT_ARG_UPATH2(td, ndp->ni_dirfd, cnp->cn_pnbuf);
-
startdir_used = 0;
dp = NULL;
cnp->cn_nameptr = cnp->cn_pnbuf;
@@ -505,6 +497,13 @@ namei(struct nameidata *ndp)
ndp->ni_lcf |= NI_LCF_LATCH;
}
FILEDESC_SUNLOCK(fdp);
+ /*
+ * If we are auditing the kernel pathname, save the user pathname.
+ */
+ if (cnp->cn_flags & AUDITVNODE1)
+ AUDIT_ARG_UPATH1_VP(td, ndp->ni_rootdir, dp, cnp->cn_pnbuf);
+ if (cnp->cn_flags & AUDITVNODE2)
+ AUDIT_ARG_UPATH2_VP(td, ndp->ni_rootdir, dp, cnp->cn_pnbuf);
if (ndp->ni_startdir != NULL && !startdir_used)
vrele(ndp->ni_startdir);
if (error != 0) {