uipc_mqueue.c (75dfc66c1b2b44609e5a7c3e1d6a751be4922689) uipc_mqueue.c (d292b1940c9cc327810627c486cbcfa7e12ce8ad)
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2005 David Xu <davidxu@freebsd.org>
5 * Copyright (c) 2016-2017 Robert N. M. Watson
6 * All rights reserved.
7 *
8 * Portions of this software were developed by BAE Systems, the University of

--- 1164 unchanged lines hidden (view full) ---

1173{
1174 struct vnode *vp = ap->a_vp;
1175 struct vattr vattr;
1176 int error;
1177
1178 error = VOP_GETATTR(vp, &vattr, ap->a_cred);
1179 if (error)
1180 return (error);
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2005 David Xu <davidxu@freebsd.org>
5 * Copyright (c) 2016-2017 Robert N. M. Watson
6 * All rights reserved.
7 *
8 * Portions of this software were developed by BAE Systems, the University of

--- 1164 unchanged lines hidden (view full) ---

1173{
1174 struct vnode *vp = ap->a_vp;
1175 struct vattr vattr;
1176 int error;
1177
1178 error = VOP_GETATTR(vp, &vattr, ap->a_cred);
1179 if (error)
1180 return (error);
1181 error = vaccess(vp->v_type, vattr.va_mode, vattr.va_uid,
1182 vattr.va_gid, ap->a_accmode, ap->a_cred, NULL);
1181 error = vaccess(vp->v_type, vattr.va_mode, vattr.va_uid, vattr.va_gid,
1182 ap->a_accmode, ap->a_cred);
1183 return (error);
1184}
1185
1186#if 0
1187struct vop_getattr_args {
1188 struct vop_generic_args a_gen;
1189 struct vnode *a_vp;
1190 struct vattr *a_vap;

--- 892 unchanged lines hidden (view full) ---

2083 } else {
2084 accmode_t accmode = 0;
2085
2086 if (flags & FREAD)
2087 accmode |= VREAD;
2088 if (flags & FWRITE)
2089 accmode |= VWRITE;
2090 error = vaccess(VREG, pn->mn_mode, pn->mn_uid,
1183 return (error);
1184}
1185
1186#if 0
1187struct vop_getattr_args {
1188 struct vop_generic_args a_gen;
1189 struct vnode *a_vp;
1190 struct vattr *a_vap;

--- 892 unchanged lines hidden (view full) ---

2083 } else {
2084 accmode_t accmode = 0;
2085
2086 if (flags & FREAD)
2087 accmode |= VREAD;
2088 if (flags & FWRITE)
2089 accmode |= VWRITE;
2090 error = vaccess(VREG, pn->mn_mode, pn->mn_uid,
2091 pn->mn_gid, accmode, td->td_ucred, NULL);
2091 pn->mn_gid, accmode, td->td_ucred);
2092 }
2093 }
2094
2095 if (error) {
2096 sx_xunlock(&mqfs_data.mi_lock);
2097 fdclose(td, fp, fd);
2098 fdrop(fp, td);
2099 return (error);

--- 461 unchanged lines hidden (view full) ---

2561{
2562 struct mqfs_node *pn;
2563 int error;
2564
2565 error = 0;
2566 pn = fp->f_data;
2567 sx_xlock(&mqfs_data.mi_lock);
2568 error = vaccess(VREG, pn->mn_mode, pn->mn_uid, pn->mn_gid, VADMIN,
2092 }
2093 }
2094
2095 if (error) {
2096 sx_xunlock(&mqfs_data.mi_lock);
2097 fdclose(td, fp, fd);
2098 fdrop(fp, td);
2099 return (error);

--- 461 unchanged lines hidden (view full) ---

2561{
2562 struct mqfs_node *pn;
2563 int error;
2564
2565 error = 0;
2566 pn = fp->f_data;
2567 sx_xlock(&mqfs_data.mi_lock);
2568 error = vaccess(VREG, pn->mn_mode, pn->mn_uid, pn->mn_gid, VADMIN,
2569 active_cred, NULL);
2569 active_cred);
2570 if (error != 0)
2571 goto out;
2572 pn->mn_mode = mode & ACCESSPERMS;
2573out:
2574 sx_xunlock(&mqfs_data.mi_lock);
2575 return (error);
2576}
2577

--- 368 unchanged lines hidden ---
2570 if (error != 0)
2571 goto out;
2572 pn->mn_mode = mode & ACCESSPERMS;
2573out:
2574 sx_xunlock(&mqfs_data.mi_lock);
2575 return (error);
2576}
2577

--- 368 unchanged lines hidden ---