namei: Fix cn_flags width in various places

This truncation is mostly harmless today, but fix it anyway to avoid
pain later down the road.

Reviewed by:	olce, kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D50417
This commit is contained in:
Mark Johnston 2025-05-27 13:29:14 +00:00
parent f415895300
commit 0d224af399
7 changed files with 11 additions and 11 deletions

View file

@ -125,7 +125,7 @@ cd9660_lookup(struct vop_cachedlookup_args *ap)
char *name;
struct vnode **vpp = ap->a_vpp;
struct componentname *cnp = ap->a_cnp;
int flags = cnp->cn_flags;
uint64_t flags = cnp->cn_flags;
int nameiop = cnp->cn_nameiop;
ep2 = ep = NULL;

View file

@ -1431,8 +1431,8 @@ fuse_vnop_lookup(struct vop_lookup_args *ap)
struct timespec now;
int nameiop = cnp->cn_nameiop;
int flags = cnp->cn_flags;
int islastcn = flags & ISLASTCN;
bool isdotdot = cnp->cn_flags & ISDOTDOT;
bool islastcn = cnp->cn_flags & ISLASTCN;
struct mount *mp = vnode_mount(dvp);
struct fuse_data *data = fuse_get_mpdata(mp);
int default_permissions = data->dataflags & FSESS_DEFAULT_PERMISSIONS;
@ -1465,8 +1465,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap)
return err;
is_dot = cnp->cn_namelen == 1 && *(cnp->cn_nameptr) == '.';
if ((flags & ISDOTDOT) && !(data->dataflags & FSESS_EXPORT_SUPPORT))
{
if (isdotdot && !(data->dataflags & FSESS_EXPORT_SUPPORT)) {
if (!(VTOFUD(dvp)->flag & FN_PARENT_NID)) {
/*
* Since the file system doesn't support ".." lookups,
@ -1580,7 +1579,7 @@ fuse_vnop_lookup(struct vop_lookup_args *ap)
}
} else {
/* Entry was found */
if (flags & ISDOTDOT) {
if (isdotdot) {
struct fuse_lookup_alloc_arg flaa;
flaa.nid = nid;

View file

@ -222,9 +222,9 @@ p9fs_lookup(struct vop_lookup_args *ap)
struct p9fs_session *vses;
struct mount *mp; /* Get the mount point */
struct p9_fid *dvfid, *newfid;
uint64_t flags;
int error;
struct vattr vattr;
int flags;
char tmpchr;
dvp = ap->a_dvp;

View file

@ -1051,7 +1051,7 @@ smbfs_lookup(struct vop_lookup_args *ap)
struct smbfattr fattr, *fap;
struct smb_cred *scred;
char *name = cnp->cn_nameptr;
int flags = cnp->cn_flags;
uint64_t flags = cnp->cn_flags;
int nameiop = cnp->cn_nameiop;
int nmlen = cnp->cn_namelen;
int error, islastcn, isdot;

View file

@ -99,8 +99,8 @@ unionfs_lookup(struct vop_cachedlookup_args *ap)
struct vattr va;
struct componentname *cnp;
struct thread *td;
uint64_t cnflags;
u_long nameiop;
u_long cnflags;
int lockflag;
int lkflags;
int error, uerror, lerror;

View file

@ -851,7 +851,8 @@ mqfs_lookupx(struct vop_cachedlookup_args *ap)
struct mqfs_node *pd;
struct mqfs_node *pn;
struct mqfs_info *mqfs;
int nameiop, flags, error, namelen;
uint64_t flags;
int nameiop, error, namelen;
char *pname;
struct thread *td;

View file

@ -4174,7 +4174,7 @@ SYSCTL_PROC(_vfs_cache_param, OID_AUTO, fast_lookup, CTLTYPE_INT|CTLFLAG_RW|CTLF
*/
struct nameidata_outer {
size_t ni_pathlen;
int cn_flags;
uint64_t cn_flags;
};
struct nameidata_saved {