Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Apr 2003 13:44:58 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 29015 for review
Message-ID:  <200304152044.h3FKiwLG042051@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=29015

Change 29015 by rwatson@rwatson_tislabs on 2003/04/15 13:43:57

	Modify mac_test policy to invoke WITNESS_WARN() when a potentially
	blocking allocation could occur as a result of a label
	initialization.  This will simulate the behavior of allocated
	label policies such as MLS and Biba when running mac_test from
	the perspective of WITNESS lock and sleep warnings.

Affected files ...

.. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#99 edit

Differences ...

==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#99 (text+ko) ====

@@ -46,6 +46,7 @@
 #include <sys/extattr.h>
 #include <sys/kernel.h>
 #include <sys/mac.h>
+#include <sys/malloc.h>
 #include <sys/mount.h>
 #include <sys/proc.h>
 #include <sys/systm.h>
@@ -246,6 +247,11 @@
 mac_test_init_ipq_label(struct label *label, int flag)
 {
 
+	if (flag & M_WAITOK)
+		WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL,
+		    "mac_test_init_ipq_label() at %s:%d", __FILE__,
+		    __LINE__);
+
 	SLOT(label) = IPQMAGIC;
 	atomic_add_int(&init_count_ipq, 1);
 	return (0);
@@ -255,6 +261,11 @@
 mac_test_init_mbuf_label(struct label *label, int flag)
 {
 
+	if (flag & M_WAITOK)
+		WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL,
+		    "mac_test_init_mbuf_label() at %s:%d", __FILE__,
+		    __LINE__);
+
 	SLOT(label) = MBUFMAGIC;
 	atomic_add_int(&init_count_mbuf, 1);
 	return (0);
@@ -280,6 +291,11 @@
 mac_test_init_socket_label(struct label *label, int flag)
 {
 
+	if (flag & M_WAITOK)
+		WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL,
+		    "mac_test_init_socket_label() at %s:%d", __FILE__,
+		    __LINE__);
+
 	SLOT(label) = SOCKETMAGIC;
 	atomic_add_int(&init_count_socket, 1);
 	return (0);
@@ -289,6 +305,11 @@
 mac_test_init_socket_peer_label(struct label *label, int flag)
 {
 
+	if (flag & M_WAITOK)
+		WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL,
+		    "mac_test_init_socket_peer_label() at %s:%d", __FILE__,
+		    __LINE__);
+
 	SLOT(label) = SOCKETMAGIC;
 	atomic_add_int(&init_count_socket_peerlabel, 1);
 	return (0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304152044.h3FKiwLG042051>