diff options
author | pjd <pjd@FreeBSD.org> | 2012-09-25 20:59:12 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2012-09-25 20:59:12 +0000 |
commit | 4816885ff16f345a6e3c35cbfce66fedc724eeb0 (patch) | |
tree | d5c1df489a4fc9e1460c8fdb928472244417afda /sys/kern/vfs_syscalls.c | |
parent | 5ca6c6bd61d591677610ab46457d1a07f70e469e (diff) | |
download | FreeBSD-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.c | 4 |
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); |