From 6fe7c20e6e52ad3e4d5151e687478ccc9d73441f Mon Sep 17 00:00:00 2001 From: Robert Watson Date: Mon, 3 May 2004 21:38:23 +0000 Subject: [PATCH] When performing label assertions on an mbuf header label in mac_test, test the label pointer for NULL before testing the label slot for permitted values. When loading mac_test dynamically with conditional mbuf labels, the label pointer may be NULL if the mbuf was instantiated while labels were not required on mbufs by any policy. Obtained from: TrustedBSD Project Sponsored by: DARPA, McAfee Research --- sys/security/mac_test/mac_test.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/security/mac_test/mac_test.c b/sys/security/mac_test/mac_test.c index b02b36aa02d..d1f54ee9cd3 100644 --- a/sys/security/mac_test/mac_test.c +++ b/sys/security/mac_test/mac_test.c @@ -104,8 +104,9 @@ SYSCTL_INT(_security_mac_test, OID_AUTO, enabled, CTLFLAG_RW, SLOT(x) == 0, ("%s: Bad INPCB label", __func__ )) #define ASSERT_IPQ_LABEL(x) KASSERT(SLOT(x) == IPQMAGIC || \ SLOT(x) == 0, ("%s: Bad IPQ label", __func__ )) -#define ASSERT_MBUF_LABEL(x) KASSERT(SLOT(x) == MBUFMAGIC || \ - SLOT(x) == 0, ("%s: Bad MBUF label", __func__ )) +#define ASSERT_MBUF_LABEL(x) KASSERT(x == NULL || \ + SLOT(x) == MBUFMAGIC || SLOT(x) == 0, \ + ("%s: Bad MBUF label", __func__ )) #define ASSERT_MOUNT_LABEL(x) KASSERT(SLOT(x) == MOUNTMAGIC || \ SLOT(x) == 0, ("%s: Bad MOUNT label", __func__ )) #define ASSERT_SOCKET_LABEL(x) KASSERT(SLOT(x) == SOCKETMAGIC || \