PERFORCE change 101238 for review
John Baldwin
jhb at FreeBSD.org
Mon Jul 10 21:21:48 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=101238
Change 101238 by jhb at 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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/smpng/sys/i386/ibcs2/imgact_coff.c#22 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/smpng/sys/kern/kern_linker.c#79 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__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",
More information about the p4-projects
mailing list