Page MenuHomeFreeBSD

D57189.id178438.diff
No OneTemporary

D57189.id178438.diff

diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -3836,6 +3836,15 @@
error = EEXIST;
goto out;
}
+ if (fvp->v_type == VDIR &&
+ ((fromnd.ni_resflags | tond.ni_resflags) & NIRES_BENEATH) != 0) {
+ /*
+ * We must not rename a directory relative to FD_RESOLVE_BENEATH
+ * descriptors.
+ */
+ error = ENOTCAPABLE;
+ goto out;
+ }
error = vn_start_write(fvp, &mp, V_NOWAIT);
if (error != 0) {
again1:

File Metadata

Mime Type
text/plain
Expires
Sun, May 24, 4:42 PM (6 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33455956
Default Alt Text
D57189.id178438.diff (500 B)

Event Timeline