add DIAGNOSTIC to verify presence of uip_procp pointer in uiomove
authorKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 16 Apr 1991 14:43:56 +0000 (06:43 -0800)
committerKirk McKusick <mckusick@ucbvax.Berkeley.EDU>
Tue, 16 Apr 1991 14:43:56 +0000 (06:43 -0800)
SCCS-vsn: sys/kern/kern_subr.c 7.7

usr/src/sys/kern/kern_subr.c

index a4e39f9..9980444 100644 (file)
@@ -4,11 +4,12 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)kern_subr.c 7.6 (Berkeley) %G%
+ *     @(#)kern_subr.c 7.7 (Berkeley) %G%
  */
 
 #include "param.h"
 #include "systm.h"
  */
 
 #include "param.h"
 #include "systm.h"
+#include "proc.h"
 
 uiomove(cp, n, uio)
        register caddr_t cp;
 
 uiomove(cp, n, uio)
        register caddr_t cp;
@@ -19,8 +20,13 @@ uiomove(cp, n, uio)
        u_int cnt;
        int error = 0;
 
        u_int cnt;
        int error = 0;
 
+
+#ifdef DIAGNOSTIC
        if (uio->uio_rw != UIO_READ && uio->uio_rw != UIO_WRITE)
                panic("uiomove: mode");
        if (uio->uio_rw != UIO_READ && uio->uio_rw != UIO_WRITE)
                panic("uiomove: mode");
+       if (uio->uio_segflg == UIO_USERSPACE && uio->uio_procp != curproc)
+               panic("uiomove proc");
+#endif
        while (n > 0 && uio->uio_resid) {
                iov = uio->uio_iov;
                cnt = iov->iov_len;
        while (n > 0 && uio->uio_resid) {
                iov = uio->uio_iov;
                cnt = iov->iov_len;