From owner-p4-projects@FreeBSD.ORG Mon Jul 10 21:21:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A0C416A4E6; Mon, 10 Jul 2006 21:21:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0064816A4DE for ; Mon, 10 Jul 2006 21:21:47 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E805943D62 for ; Mon, 10 Jul 2006 21:21:44 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6ALLiIQ084468 for ; Mon, 10 Jul 2006 21:21:44 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6ALLi0R084465 for perforce@freebsd.org; Mon, 10 Jul 2006 21:21:44 GMT (envelope-from jhb@freebsd.org) Date: Mon, 10 Jul 2006 21:21:44 GMT Message-Id: <200607102121.k6ALLi0R084465@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 101238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jul 2006 21:21:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=101238 Change 101238 by jhb@jhb_mutex on 2006/07/10 21:20:46 IFC @101232 - loopback. Affected files ... .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#41 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_util.h#9 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix.c#18 integrate .. //depot/projects/smpng/sys/i386/ibcs2/imgact_coff.c#22 integrate .. //depot/projects/smpng/sys/kern/kern_linker.c#79 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#39 integrate Differences ... ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#41 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.55 2006/06/08 18:33:08 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.56 2006/07/10 19:37:43 jhb Exp $"); #include "opt_compat.h" ==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_util.h#9 (text+ko) ==== @@ -29,7 +29,7 @@ * from: svr4_util.h,v 1.5 1994/11/18 02:54:31 christos Exp * from: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp * - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_util.h,v 1.19 2005/02/07 22:02:18 jhb Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_util.h,v 1.20 2006/07/10 17:59:26 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix.c#18 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.37 2006/07/08 20:12:13 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.38 2006/07/10 17:59:26 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/i386/ibcs2/imgact_coff.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/ibcs2/imgact_coff.c,v 1.65 2005/04/27 09:05:19 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/ibcs2/imgact_coff.c,v 1.66 2006/07/10 17:59:26 jhb Exp $"); #include #include ==== //depot/projects/smpng/sys/kern/kern_linker.c#79 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.139 2006/07/06 21:39:39 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_linker.c,v 1.142 2006/07/10 19:28:57 jhb Exp $"); #include "opt_ddb.h" #include "opt_hwpmc_hooks.h" @@ -620,9 +620,8 @@ free(file->deps, M_LINKER); file->deps = NULL; } - for (cp = STAILQ_FIRST(&file->common); cp; - cp = STAILQ_FIRST(&file->common)) { - STAILQ_REMOVE(&file->common, cp, common_symbol, link); + while ((cp = STAILQ_FIRST(&file->common)) != NULL) { + STAILQ_REMOVE_HEAD(&file->common, link); free(cp, M_LINKER); } @@ -1274,7 +1273,7 @@ caddr_t modptr; const char *modname, *nmodname; char *modtype; - linker_file_t lf; + linker_file_t lf, nlf; linker_class_t lc; int error; linker_file_list_t loaded_files; @@ -1384,10 +1383,10 @@ nver) != NULL) { printf("module %s already" " present!\n", modname); + TAILQ_REMOVE(&loaded_files, + lf, loaded); linker_file_unload(lf, LINKER_UNLOAD_FORCE); - TAILQ_REMOVE(&loaded_files, - lf, loaded); /* we changed tailq next ptr */ goto restart; } @@ -1409,16 +1408,16 @@ /* * At this point, we check to see what could not be resolved.. */ - TAILQ_FOREACH(lf, &loaded_files, loaded) { + while ((lf = TAILQ_FIRST(&loaded_files)) != NULL) { + TAILQ_REMOVE(&loaded_files, lf, loaded); printf("KLD file %s is missing dependencies\n", lf->filename); linker_file_unload(lf, LINKER_UNLOAD_FORCE); - TAILQ_REMOVE(&loaded_files, lf, loaded); } /* * We made it. Finish off the linking in the order we determined. */ - TAILQ_FOREACH(lf, &depended_files, loaded) { + TAILQ_FOREACH_SAFE(lf, &depended_files, loaded, nlf) { if (linker_kernel_file) { linker_kernel_file->refs++; error = linker_file_add_dependency(lf, @@ -1453,6 +1452,7 @@ */ error = LINKER_LINK_PRELOAD_FINISH(lf); if (error) { + TAILQ_REMOVE(&depended_files, lf, loaded); printf("KLD file %s - could not finalize loading\n", lf->filename); linker_file_unload(lf, LINKER_UNLOAD_FORCE); ==== //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#39 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/security/mac_biba/mac_biba.c,v 1.91 2005/12/31 05:06:59 csjp Exp $ + * $FreeBSD: src/sys/security/mac_biba/mac_biba.c,v 1.92 2006/07/10 19:13:32 csjp Exp $ */ /* @@ -3019,6 +3019,18 @@ return (0); } +static int +mac_biba_associate_nfsd_label(struct ucred *cred) +{ + struct mac_biba *label; + + label = SLOT(cred->cr_label); + mac_biba_set_effective(label, MAC_BIBA_TYPE_LOW, 0, NULL); + mac_biba_set_range(label, MAC_BIBA_TYPE_LOW, 0, NULL, + MAC_BIBA_TYPE_HIGH, 0, NULL); + return (0); +} + static struct mac_policy_ops mac_biba_ops = { .mpo_init = mac_biba_init, @@ -3198,6 +3210,7 @@ .mpo_check_vnode_setutimes = mac_biba_check_vnode_setutimes, .mpo_check_vnode_stat = mac_biba_check_vnode_stat, .mpo_check_vnode_write = mac_biba_check_vnode_write, + .mpo_associate_nfsd_label = mac_biba_associate_nfsd_label, }; MAC_POLICY_SET(&mac_biba_ops, mac_biba, "TrustedBSD MAC/Biba",