Date: Fri, 5 Jun 2009 16:45:58 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r193519 - projects/ngroups/sys/fs/portalfs Message-ID: <200906051645.n55GjwwD031568@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Fri Jun 5 16:45:58 2009 New Revision: 193519 URL: http://svn.freebsd.org/changeset/base/193519 Log: Clamp the number of groups in the portal credential to XU_NGROUPS (16). This should be modified along with userspace to be dynamic. Modified: projects/ngroups/sys/fs/portalfs/portal.h projects/ngroups/sys/fs/portalfs/portal_vnops.c Modified: projects/ngroups/sys/fs/portalfs/portal.h ============================================================================== --- projects/ngroups/sys/fs/portalfs/portal.h Fri Jun 5 16:44:42 2009 (r193518) +++ projects/ngroups/sys/fs/portalfs/portal.h Fri Jun 5 16:45:58 2009 (r193519) @@ -43,7 +43,7 @@ struct portal_cred { int pcr_flag; /* File open mode */ uid_t pcr_uid; /* From ucred */ short pcr_ngroups; /* From ucred */ - gid_t pcr_groups[NGROUPS]; /* From ucred */ + gid_t pcr_groups[XU_NGROUPS]; /* From ucred */ }; #ifdef _KERNEL Modified: projects/ngroups/sys/fs/portalfs/portal_vnops.c ============================================================================== --- projects/ngroups/sys/fs/portalfs/portal_vnops.c Fri Jun 5 16:44:42 2009 (r193518) +++ projects/ngroups/sys/fs/portalfs/portal_vnops.c Fri Jun 5 16:45:58 2009 (r193519) @@ -311,8 +311,9 @@ portal_open(ap) pcred.pcr_flag = ap->a_mode; pcred.pcr_uid = ap->a_cred->cr_uid; - pcred.pcr_ngroups = ap->a_cred->cr_ngroups; - bcopy(ap->a_cred->cr_groups, pcred.pcr_groups, NGROUPS * sizeof(gid_t)); + pcred.pcr_ngroups = MIN(ap->a_cred->cr_ngroups, XU_NGROUPS); + bcopy(ap->a_cred->cr_groups, pcred.pcr_groups, + pcred.pcr_ngroups * sizeof(gid_t)); aiov[0].iov_base = (caddr_t) &pcred; aiov[0].iov_len = sizeof(pcred); aiov[1].iov_base = pt->pt_arg;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906051645.n55GjwwD031568>