diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 85cd13b909a..4c6b53f766f 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -268,7 +268,7 @@ linux_uselib(struct thread *td, struct linux_uselib_args *args) * XXX: This code should make use of vn_open(), rather than doing * all this stuff itself. */ - NDINIT(&ni, LOOKUP, FOLLOW|LOCKLEAF, UIO_SYSSPACE, library, td); + NDINIT(&ni, LOOKUP, ISOPEN|FOLLOW|LOCKLEAF, UIO_SYSSPACE, library, td); error = namei(&ni); LFREEPATH(library); if (error) diff --git a/sys/i386/ibcs2/imgact_coff.c b/sys/i386/ibcs2/imgact_coff.c index b6c6cae8c26..a7ab6075d64 100644 --- a/sys/i386/ibcs2/imgact_coff.c +++ b/sys/i386/ibcs2/imgact_coff.c @@ -171,7 +171,8 @@ coff_load_file(struct thread *td, char *name) unsigned long bss_size = 0; int i; - NDINIT(&nd, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, UIO_SYSSPACE, name, td); + NDINIT(&nd, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME, + UIO_SYSSPACE, name, td); error = namei(&nd); if (error) diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 97836156001..52e1c686704 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -348,7 +348,7 @@ do_execve(td, args, mac_p) * in ni_vp amoung other things. */ ndp = &nd; - NDINIT(ndp, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, + NDINIT(ndp, LOOKUP, ISOPEN | LOCKLEAF | FOLLOW | SAVENAME, UIO_SYSSPACE, args->fname, td); mtx_lock(&Giant); diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index b51880c5ebd..084f3109be6 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -118,7 +118,7 @@ restart: fmode = *flagp; if (fmode & O_CREAT) { ndp->ni_cnd.cn_nameiop = CREATE; - ndp->ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | MPSAFE; + ndp->ni_cnd.cn_flags = ISOPEN | LOCKPARENT | LOCKLEAF | MPSAFE; if ((fmode & O_EXCL) == 0 && (fmode & O_NOFOLLOW) == 0) ndp->ni_cnd.cn_flags |= FOLLOW; bwillwrite(); @@ -178,7 +178,7 @@ restart: } } else { ndp->ni_cnd.cn_nameiop = LOOKUP; - ndp->ni_cnd.cn_flags = + ndp->ni_cnd.cn_flags = ISOPEN | ((fmode & O_NOFOLLOW) ? NOFOLLOW : FOLLOW) | LOCKSHARED | LOCKLEAF | MPSAFE; if ((error = namei(ndp)) != 0) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index eca68b6a19c..f4d61fbc993 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -2025,7 +2025,7 @@ swapon(struct thread *td, struct swapon_args *uap) goto done; } - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, uap->name, td); + NDINIT(&nd, LOOKUP, ISOPEN | FOLLOW, UIO_USERSPACE, uap->name, td); error = namei(&nd); if (error) goto done;