summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_syscalls.c
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2012-09-25 20:59:12 +0000
committerpjd <pjd@FreeBSD.org>2012-09-25 20:59:12 +0000
commit4816885ff16f345a6e3c35cbfce66fedc724eeb0 (patch)
treed5c1df489a4fc9e1460c8fdb928472244417afda /sys/kern/vfs_syscalls.c
parent5ca6c6bd61d591677610ab46457d1a07f70e469e (diff)
downloadFreeBSD-src-4816885ff16f345a6e3c35cbfce66fedc724eeb0.zip
FreeBSD-src-4816885ff16f345a6e3c35cbfce66fedc724eeb0.tar.gz
Require CAP_CREATE on directory descriptor for symlinkat(2).
Sponsored by: FreeBSD Foundation MFC after: 2 weeks
Diffstat (limited to 'sys/kern/vfs_syscalls.c')
-rw-r--r--sys/kern/vfs_syscalls.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index c9a28d4..f6e3893 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -1719,8 +1719,8 @@ kern_symlinkat(struct thread *td, char *path1, int fd, char *path2,
AUDIT_ARG_TEXT(syspath);
restart:
bwillwrite();
- NDINIT_AT(&nd, CREATE, LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1,
- segflg, path2, fd, td);
+ NDINIT_ATRIGHTS(&nd, CREATE, LOCKPARENT | SAVENAME | MPSAFE |
+ AUDITVNODE1, segflg, path2, fd, CAP_CREATE, td);
if ((error = namei(&nd)) != 0)
goto out;
vfslocked = NDHASGIANT(&nd);
OpenPOWER on IntegriCloud