From owner-svn-src-projects@FreeBSD.ORG Fri Jun 5 16:45:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F909106566B; Fri, 5 Jun 2009 16:45:58 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5E7F08FC12; Fri, 5 Jun 2009 16:45:58 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n55Gjwos031570; Fri, 5 Jun 2009 16:45:58 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n55GjwwD031568; Fri, 5 Jun 2009 16:45:58 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <200906051645.n55GjwwD031568@svn.freebsd.org> From: Brooks Davis Date: Fri, 5 Jun 2009 16:45:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193519 - projects/ngroups/sys/fs/portalfs X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2009 16:45:58 -0000 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;