Эх сурвалжийг харах

LSM: BUILD_BUG_ON if the common_audit_data union ever grows

We did a lot of work to shrink the common_audit_data.  Add a BUILD_BUG_ON
so future programers (let's be honest, probably me) won't do something
foolish like make it large again!

Signed-off-by: Eric Paris <eparis@redhat.com>
Eric Paris 13 жил өмнө
parent
commit
07f62eb66c

+ 7 - 0
security/lsm_audit.c

@@ -213,6 +213,13 @@ static void dump_common_audit_data(struct audit_buffer *ab,
 {
 {
 	struct task_struct *tsk = current;
 	struct task_struct *tsk = current;
 
 
+	/*
+	 * To keep stack sizes in check force programers to notice if they
+	 * start making this union too large!  See struct lsm_network_audit
+	 * as an example of how to deal with large data.
+	 */
+	BUILD_BUG_ON(sizeof(a->u) > sizeof(void *)*2);
+
 	audit_log_format(ab, " pid=%d comm=", tsk->pid);
 	audit_log_format(ab, " pid=%d comm=", tsk->pid);
 	audit_log_untrustedstring(ab, tsk->comm);
 	audit_log_untrustedstring(ab, tsk->comm);