Page MenuHomeFreeBSD

D41806.id127211.diff
No OneTemporary

D41806.id127211.diff

diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c
--- a/sys/kern/vfs_cache.c
+++ b/sys/kern/vfs_cache.c
@@ -5334,12 +5334,14 @@
struct nameidata *ndp;
struct componentname *cnp;
struct vnode *dvp, *tvp;
+ struct pwd *pwd;
int error;
ndp = fpl->ndp;
cnp = fpl->cnp;
dvp = fpl->dvp;
tvp = fpl->tvp;
+ pwd = *(fpl->pwd);
if (cache_fpl_islastcn(ndp)) {
if ((cnp->cn_flags & FOLLOW) == 0) {
@@ -5395,6 +5397,9 @@
cache_fpl_checkpoint(fpl);
return (cache_fpl_partial(fpl));
}
+ if (__predict_false(pwd->pwd_adir != pwd->pwd_rdir)) {
+ return (cache_fpl_aborted(fpl));
+ }
}
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Dec 12, 4:21 PM (11 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
26902688
Default Alt Text
D41806.id127211.diff (635 B)

Event Timeline