PERFORCE change 125828 for review
Robert Watson
rwatson at FreeBSD.org
Wed Aug 29 13:35:21 PDT 2007
http://perforce.freebsd.org/chv.cgi?CH=125828
Change 125828 by rwatson at rwatson_zoo on 2007/08/29 20:34:59
Fix issues in recent integration by adapting branch-local code to new
world order from CVS.
Affected files ...
.. //depot/projects/trustedbsd/mac/sys/i386/i386/trap.c#52 edit
.. //depot/projects/trustedbsd/mac/sys/security/mac/mac_policy.h#5 edit
.. //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#155 edit
Differences ...
==== //depot/projects/trustedbsd/mac/sys/i386/i386/trap.c#52 (text+ko) ====
@@ -64,7 +64,6 @@
#include <sys/kernel.h>
#include <sys/ktr.h>
#include <sys/lock.h>
-#include <sys/mac.h>
#include <sys/mutex.h>
#include <sys/resourcevar.h>
#include <sys/signalvar.h>
@@ -80,6 +79,7 @@
#include <sys/pmckern.h>
#endif
#include <security/audit/audit.h>
+#include <security/mac/mac_framework.h>
#include <vm/vm.h>
#include <vm/vm_param.h>
==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_policy.h#5 (text+ko) ====
@@ -323,6 +323,9 @@
struct label *ifplabel, struct label *newlabel);
typedef void (*mpo_update_ipq_t)(struct mbuf *m, struct label *mlabel,
struct ipq *ipq, struct label *ipqlabel);
+typedef int (*mpo_update_mbuf_from_cipso_t)(struct mbuf *m,
+ struct label *mlabel, struct ifnet *ifp,
+ struct label *ifplabel, char *cp, int *code);
typedef void (*mpo_inpcb_sosetlabel_t)(struct socket *so,
struct label *label, struct inpcb *inp,
struct label *inplabel);
@@ -757,6 +760,7 @@
mpo_reflect_mbuf_tcp_t mpo_reflect_mbuf_tcp;
mpo_relabel_ifnet_t mpo_relabel_ifnet;
mpo_update_ipq_t mpo_update_ipq;
+ mpo_update_mbuf_from_cipso_t mpo_update_mbuf_from_cipso;
mpo_inpcb_sosetlabel_t mpo_inpcb_sosetlabel;
/*
==== //depot/projects/trustedbsd/mac/sys/security/mac_test/mac_test.c#155 (text+ko) ====
@@ -1068,11 +1068,11 @@
COUNTER_DECL(update_mbuf_from_cipso);
static int
mac_test_update_mbuf_from_cipso(struct mbuf *m, struct label *mlabel,
- struct ifnet *ifnet, struct label *ifnetlabel, char *cp, int *code)
+ struct ifnet *ifp, struct label *ifplabel, char *cp, int *code)
{
- ASSERT_MBUF_LABEL(mlabel);
- ASSERT_IFNET_LABEL(ifnetlabel);
+ LABEL_CHECK(mlabel, MAGIC_MBUF);
+ LABEL_CHECK(ifplabel, MAGIC_IFNET);
return (0);
}
@@ -1152,15 +1152,23 @@
}
COUNTER_DECL(thread_userret);
+static void
+mac_test_thread_userret(struct thread *td)
+{
+
+ COUNTER_INC(thread_userret);
+}
+
+COUNTER_DECL(thread_userret_sysctl);
static int
sysctl_mac_test_thread_userret(SYSCTL_HANDLER_ARGS)
{
- COUNTER_INC(thread_userret);
- mtx_lock_spin(&sched_lock);
+ COUNTER_INC(thread_userret_sysctl);
+ thread_lock(curthread);
curthread->td_flags |= TDF_ASTPENDING;
curthread->td_proc->p_sflag |= PS_MACPEND;
- mtx_unlock_spin(&sched_lock);
+ thread_unlock(curthread);
return (sysctl_handle_int(oidp, NULL, curthread->td_proc->p_pid,
req));
}
More information about the p4-projects
mailing list