Apply by doing:
       cd /usr/src
       patch -p0 < 011_locore.patch

And then rebuild your kernel.

Index: sys/arch/i386/i386/locore.s
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/locore.s,v
retrieving revision 1.80
retrieving revision 1.80.2.1
diff -u -p -U20 -r1.80 -r1.80.2.1
--- sys/arch/i386/i386/locore.s 20 Jul 2004 20:16:44 -0000      1.80
+++ sys/arch/i386/i386/locore.s 27 Feb 2005 00:57:02 -0000      1.80.2.1
@@ -1225,40 +1225,42 @@ ENTRY(copyoutstr)
#endif /* I386_CPU */

#if defined(I486_CPU) || defined(I586_CPU) || defined(I686_CPU)
5:     GET_CURPCB(%eax)
       movl    $_C_LABEL(copystr_fault),PCB_ONFAULT(%eax)
       /*
        * Get min(%edx, VM_MAXUSER_ADDRESS-%edi).
        */
       movl    $VM_MAXUSER_ADDRESS,%eax
       subl    %edi,%eax
       cmpl    %edx,%eax
       jae     1f
       movl    %eax,%edx
       movl    %eax,20+FPADD(%esp)

1:     incl    %edx
       cld

1:     decl    %edx
       jz      2f
+       cmpl    $VM_MAXUSER_ADDRESS,%edi
+       jae     _C_LABEL(copystr_fault)
       lodsb
       stosb
       testb   %al,%al
       jnz     1b

       /* Success -- 0 byte reached. */
       decl    %edx
       xorl    %eax,%eax
       jmp     copystr_return

2:     /* edx is zero -- return EFAULT or ENAMETOOLONG. */
       cmpl    $VM_MAXUSER_ADDRESS,%edi
       jae     _C_LABEL(copystr_fault)
       movl    $ENAMETOOLONG,%eax
       jmp     copystr_return
#endif /* I486_CPU || I586_CPU || I686_CPU */

/*
 * copyinstr(caddr_t from, caddr_t to, size_t maxlen, size_t *lencopied);
 * Copy a NUL-terminated string, at most maxlen characters long, from the