Index: kern_alq.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_alq.c,v
retrieving revision 1.9
diff -u -r1.9 kern_alq.c
--- kern_alq.c	27 Jul 2003 17:04:55 -0000	1.9
+++ kern_alq.c	18 Oct 2003 16:06:26 -0000
@@ -27,11 +27,14 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/sys/kern/kern_alq.c,v 1.9 2003/07/27 17:04:55 phk Exp $");
 
+#include "opt_mac.h"
+
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/kthread.h>
 #include <sys/lock.h>
+#include <sys/mac.h>
 #include <sys/mutex.h>
 #include <sys/namei.h>
 #include <sys/proc.h>
@@ -291,8 +294,14 @@
 	vn_start_write(vp, &mp, V_WAIT);
 	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
 	VOP_LEASE(vp, td, alq->aq_cred, LEASE_WRITE);
-	/* XXX error ignored */
-	VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, alq->aq_cred);	
+	/*
+	 * XXX: Both MAC and VOP_WRITE error checks are ignored.
+	 */
+#ifdef MAC
+	if (mac_check_vnode_write(alq->aq_cred, NOCRED, vp) == 0)
+#endif
+
+		VOP_WRITE(vp, &auio, IO_UNIT | IO_APPEND, alq->aq_cred);
 	VOP_UNLOCK(vp, 0, td);
 	vn_finished_write(mp);
 
