PERFORCE change 93199 for review
Robert Watson
rwatson at FreeBSD.org
Sun Mar 12 15:39:09 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=93199
Change 93199 by rwatson at rwatson_zoo on 2006/03/12 15:36:37
Change send_trigger() prototype to return an int, so that user
space callers can tell if the message was successfully placed
in the trigger queue. This isn't quite the same as it being
successfully received, but is close enough that we can generate
a more useful warning message in audit(8).
Affected files ...
.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#17 edit
.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#20 edit
.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#11 edit
.. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_trigger.c#9 edit
Differences ...
==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit.c#17 (text+ko) ====
@@ -307,7 +307,7 @@
* then kindly suggest to the audit daemon to do something.
*/
if (mnt_stat->f_bfree < AUDIT_HARD_LIMIT_FREE_BLOCKS) {
- send_trigger(AUDIT_TRIGGER_NO_SPACE);
+ (void)send_trigger(AUDIT_TRIGGER_NO_SPACE);
/* Hopefully userspace did something about all the previous
* triggers that were sent prior to this critical condition.
* If fail-stop is set, then we're done; goodnight Gracie.
@@ -330,7 +330,7 @@
temp = mnt_stat->f_blocks / (100 /
audit_qctrl.aq_minfree);
if (mnt_stat->f_bfree < temp)
- send_trigger(AUDIT_TRIGGER_LOW_SPACE);
+ (void)send_trigger(AUDIT_TRIGGER_LOW_SPACE);
}
/* Check if the current log file is full; if so, call for
@@ -342,7 +342,7 @@
(audit_file_rotate_wait == 0) &&
(vattr.va_size >= audit_fstat.af_filesz)) {
audit_file_rotate_wait = 1;
- send_trigger(AUDIT_TRIGGER_OPEN_NEW);
+ (void)send_trigger(AUDIT_TRIGGER_OPEN_NEW);
}
/*
==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_private.h#20 (text+ko) ====
@@ -295,7 +295,7 @@
* asynchronously.
*/
void audit_trigger_init(void);
-void send_trigger(unsigned int trigger);
+int send_trigger(unsigned int trigger);
/*
* General audit related functions.
==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_syscalls.c#11 (text+ko) ====
@@ -340,7 +340,7 @@
if ((udata.au_trigger < AUDIT_TRIGGER_MIN) ||
(udata.au_trigger > AUDIT_TRIGGER_MAX))
return (EINVAL);
- send_trigger(udata.au_trigger);
+ return (send_trigger(udata.au_trigger));
break;
}
/* Copy data back to userspace for the GET comands */
==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_trigger.c#9 (text+ko) ====
@@ -122,14 +122,14 @@
return (EOPNOTSUPP);
}
-void
+int
send_trigger(unsigned int trigger)
{
struct trigger_info *ti;
/* If nobody's listening, we ain't talking. */
if (!audit_isopen)
- return;
+ return (ENODEV);
/*
* XXXAUDIT: Use a condition variable instead of msleep/wakeup?
@@ -140,6 +140,7 @@
TAILQ_INSERT_TAIL(&trigger_list, ti, list);
wakeup(&trigger_list);
mtx_unlock(&audit_trigger_mtx);
+ return (0);
}
static struct cdevsw audit_cdevsw = {
More information about the trustedbsd-cvs
mailing list