Date: Tue, 9 Jun 2009 18:05:15 GMT From: Ilias Marinos <marinosi@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 163920 for review Message-ID: <200906091805.n59I5F4I057147@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163920 Change 163920 by marinosi@marinosi_redrum on 2009/06/09 18:04:49 - Fix a memory related bug Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#3 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#3 (text) ==== @@ -79,13 +79,13 @@ MALLOC_DEFINE(M_AUDITDATA, "audit_data", "Audit data storage"); MALLOC_DEFINE(M_AUDITPATH, "audit_path", "Audit path storage"); MALLOC_DEFINE(M_AUDITTEXT, "audit_text", "Audit text storage"); +MALLOC_DEFINE(M_AUDITSLICE, "audit_slice", "Audit slice storage"); SYSCTL_NODE(_security, OID_AUTO, audit, CTLFLAG_RW, 0, "TrustedBSD audit controls"); +struct audit_slice *audit_base_slice = NULL; -struct audit_slice base_slice; -struct audit_slice *audit_base_slice = &base_slice; /* * Kernel audit information. This will store the current audit address * or host information that the kernel will use when it's generating @@ -193,7 +193,12 @@ audit_init(void *arg) { + if ( audit_base_slice == NULL ) + audit_base_slice = malloc(sizeof(*audit_base_slice), + M_AUDITSLICE, M_WAITOK | M_ZERO); + struct audit_slice *as = (struct audit_slice *) arg; + as = audit_base_slice; as->audit_enabled = 0; as->audit_suspended = 0; @@ -245,7 +250,7 @@ } /* Init the base slice */ -SYSINIT(audit_init, SI_SUB_AUDIT, SI_ORDER_FIRST, audit_init, &audit_base_slice); +SYSINIT(audit_init, SI_SUB_AUDIT, SI_ORDER_FIRST, audit_init, NULL); /* * Drain the audit queue and close the log at shutdown. Note that this can ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#3 (text) ==== @@ -50,6 +50,7 @@ MALLOC_DECLARE(M_AUDITDATA); MALLOC_DECLARE(M_AUDITPATH); MALLOC_DECLARE(M_AUDITTEXT); +MALLOC_DECLARE(M_AUDITSLICE); #endif /* @@ -283,17 +284,6 @@ #define AU_PRS_FAILURE 2 #define AU_PRS_BOTH (AU_PRS_SUCCESS|AU_PRS_FAILURE) -/* - * Data structures relating to the kernel audit queue. Ideally, these might - * be abstracted so that only accessor methods are exposed. - */ -extern struct mtx audit_mtx; -extern struct cv audit_watermark_cv; -extern struct cv audit_worker_cv; -extern struct kaudit_queue audit_q; -extern int audit_q_len; -extern int audit_pre_q_len; -extern int audit_in_failure; /* * Flags to use on audit files when opening and closing.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906091805.n59I5F4I057147>