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 --- |