Changeset View
Changeset View
Standalone View
Standalone View
head/sys/fs/fuse/fuse_internal.c
Show First 20 Lines • Show All 384 Lines • ▼ Show 20 Lines | fuse_internal_invalidate_entry(struct mount *mp, struct uio *uio) | ||||
struct componentname cn; | struct componentname cn; | ||||
struct vnode *dvp, *vp; | struct vnode *dvp, *vp; | ||||
char name[PATH_MAX]; | char name[PATH_MAX]; | ||||
int err; | int err; | ||||
if ((err = uiomove(&fnieo, sizeof(fnieo), uio)) != 0) | if ((err = uiomove(&fnieo, sizeof(fnieo), uio)) != 0) | ||||
return (err); | return (err); | ||||
if (fnieo.namelen > sizeof(name)) | |||||
return (EINVAL); | |||||
if ((err = uiomove(name, fnieo.namelen, uio)) != 0) | if ((err = uiomove(name, fnieo.namelen, uio)) != 0) | ||||
return (err); | return (err); | ||||
name[fnieo.namelen] = '\0'; | name[fnieo.namelen] = '\0'; | ||||
/* fusefs does not cache "." or ".." entries */ | /* fusefs does not cache "." or ".." entries */ | ||||
if (strncmp(name, ".", sizeof(".")) == 0 || | if (strncmp(name, ".", sizeof(".")) == 0 || | ||||
strncmp(name, "..", sizeof("..")) == 0) | strncmp(name, "..", sizeof("..")) == 0) | ||||
return (0); | return (0); | ||||
▲ Show 20 Lines • Show All 816 Lines • Show Last 20 Lines |