aboutsummaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2014-12-21 13:32:07 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2014-12-21 13:32:07 +0000
commit8ee9765a9d9471d4c0eca6af889e824ee918f5f1 (patch)
treec60c5b03b317985de9570db2dadc4037a11fd4f5 /sys/kern
parent789bdfdbc6343343efa7ad1e4c643c8ff405dd3b (diff)
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_sig.c3
-rw-r--r--sys/kern/vfs_vnops.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index b34eb6281c80..a4f0f889005c 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -3167,7 +3167,8 @@ corefile_open(const char *comm, uid_t uid, pid_t pid, struct thread *td,
sbuf_delete(&sb);
cmode = S_IRUSR | S_IWUSR;
- oflags = VN_OPEN_NOAUDIT | (capmode_coredump ? VN_OPEN_NOCAPCHECK : 0);
+ oflags = VN_OPEN_NOAUDIT | VN_OPEN_NAMECACHE |
+ (capmode_coredump ? VN_OPEN_NOCAPCHECK : 0);
/*
* If the core format has a %I in it, then we need to check
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index 40a69bbf27e0..ed4ad4d18f13 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -217,6 +217,8 @@ restart:
return (error);
goto restart;
}
+ if ((vn_open_flags & VN_OPEN_NAMECACHE) != 0)
+ ndp->ni_cnd.cn_flags |= MAKEENTRY;
#ifdef MAC
error = mac_vnode_check_create(cred, ndp->ni_dvp,
&ndp->ni_cnd, vap);