Apply by doing:
	cd /usr/src
	patch -p0 < 021_fdalloc2.patch

And then rebuild your kernel.

Index: sys/kern/kern_exec.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_exec.c,v
retrieving revision 1.57.2.1
diff -u -r1.57.2.1 kern_exec.c
--- sys/kern/kern_exec.c	23 Jan 2002 03:10:01 -0000	1.57.2.1
+++ sys/kern/kern_exec.c	8 May 2002 20:19:48 -0000
@@ -532,9 +532,6 @@
 			 * allocated.  We do not want userland to accidentally
 			 * allocate descriptors in this range which has implied
 			 * meaning to libc.
-			 *
-			 * XXX - Shouldn't the exec fail if we can't allocate
-			 *       resources here?
 			 */
 			if (fp == NULL) {
 				short flags = FREAD | (i == 0 ? 0 : FWRITE);
@@ -542,7 +539,7 @@
 				int indx;
 
 				if ((error = falloc(p, &fp, &indx)) != 0)
-					break;
+					goto exec_abort;
 #ifdef DIAGNOSTIC
 				if (indx != i)
 					panic("sys_execve: falloc indx != i");
@@ -550,13 +547,13 @@
 				if ((error = cdevvp(getnulldev(), &vp)) != 0) {
 					ffree(fp);
 					fdremove(p->p_fd, indx);
-					break;
+					goto exec_abort;
 				}
 				if ((error = VOP_OPEN(vp, flags, p->p_ucred, p)) != 0) {
 					ffree(fp);
 					fdremove(p->p_fd, indx);
 					vrele(vp);
-					break;
+					goto exec_abort;
 				}
 				if (flags & FWRITE)
 					vp->v_writecount++;
