osi-credp-20030827
authorJim Rees <rees@umich.edu>
Wed, 27 Aug 2003 22:43:16 +0000 (22:43 +0000)
committerJim Rees <rees@umich.edu>
Wed, 27 Aug 2003 22:43:16 +0000 (22:43 +0000)
Use a pointer for afs_osi_cred, and crget() instead of just inventing one.
Required for FreeBSD, which puts a mutex in the cred.
Not strictly required for other BSDs, but it's more correct.

13 files changed:
src/afs/FBSD/osi_file.c
src/afs/FBSD/osi_vnodeops.c
src/afs/NBSD/osi_file.c
src/afs/OBSD/osi_file.c
src/afs/VNOPS/afs_vnop_read.c
src/afs/VNOPS/afs_vnop_write.c
src/afs/afs_analyze.c
src/afs/afs_osi.c
src/afs/afs_osi.h
src/afs/afs_server.c
src/afs/afs_vcache.c
src/afs/afs_volume.c
src/rx/rx_kcommon.c

index 4ce371f..febfd6a 100644 (file)
@@ -34,15 +34,8 @@ osi_UFSOpen(afs_int32 ainode)
     afs_int32 code = 0;
     int dummy;
     AFS_STATCNT(osi_UFSOpen);
-    if (cacheDiskType != AFS_FCACHE_TYPE_UFS) {
+    if (cacheDiskType != AFS_FCACHE_TYPE_UFS)
        osi_Panic("UFSOpen called for non-UFS cache\n");
-    }
-    if (!afs_osicred_initialized) {
-       /* valid for alpha_osf, SunOS, Ultrix */
-       memset((char *)&afs_osi_cred, 0, sizeof(struct AFS_UCRED));
-       afs_osi_cred.cr_ref++;
-       afs_osicred_initialized = 1;
-    }
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
     AFS_GUNLOCK();
     code =
@@ -61,7 +54,7 @@ osi_UFSOpen(afs_int32 ainode)
 #endif
     afile->size = VTOI(afile->vnode)->i_size;
     afile->offset = 0;
-    afile->proc = (int (*)())0;
+    afile->proc = NULL;
     afile->inum = ainode;      /* for hint validity checking */
     return (void *)afile;
 }
@@ -75,9 +68,9 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat)
     MObtainWriteLock(&afs_xosi, 320);
     AFS_GUNLOCK();
 #if defined(AFS_FBSD50_ENV)
-    code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curthread);
+    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread);
 #else
-    code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc);
+    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc);
 #endif
     AFS_GLOCK();
     if (code == 0) {
@@ -122,9 +115,9 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize)
     tvattr.va_size = asize;
     AFS_GUNLOCK();
 #if defined(AFS_FBSD50_ENV)
-    code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curthread);
+    code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread);
 #else
-    code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc);
+    code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc);
 #endif
     AFS_GLOCK();
     MReleaseWriteLock(&afs_xosi);
@@ -164,7 +157,7 @@ afs_osi_Read(register struct osi_file *afile, int offset, void *aptr,
     AFS_GUNLOCK();
     code =
        gop_rdwr(UIO_READ, afile->vnode, (caddr_t) aptr, asize, afile->offset,
-                AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid);
+                AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid);
     AFS_GLOCK();
     if (code == 0) {
        code = asize - resid;
@@ -194,7 +187,7 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr,
        AFS_GUNLOCK();
        code =
            gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize,
-                    afile->offset, AFS_UIOSYS, IO_UNIT, &afs_osi_cred,
+                    afile->offset, AFS_UIOSYS, IO_UNIT, afs_osi_credp,
                     &resid);
        AFS_GLOCK();
     }
index 45186a1..e29dc0d 100644 (file)
@@ -320,7 +320,7 @@ afs_vop_close(ap)
     if (ap->a_cred)
        code = afs_close(avc, ap->a_fflag, ap->a_cred);
     else
-       code = afs_close(avc, ap->a_fflag, &afs_osi_cred);
+       code = afs_close(avc, ap->a_fflag, afs_osi_credp);
     afs_BozonLock(&avc->pvnLock, avc);
     osi_FlushPages(avc, ap->a_cred);   /* hold bozon lock, but not basic vnode lock */
     afs_BozonUnlock(&avc->pvnLock, avc);
@@ -695,7 +695,7 @@ afs_vop_fsync(ap)
     if (ap->a_cred)
        error = afs_fsync(VTOAFS(vp), ap->a_cred);
     else
-       error = afs_fsync(VTOAFS(vp), &afs_osi_cred);
+       error = afs_fsync(VTOAFS(vp), afs_osi_credp);
     AFS_GUNLOCK();
     return error;
 }
index c2eaafe..80b42ce 100644 (file)
@@ -34,15 +34,8 @@ osi_UFSOpen(afs_int32 ainode)
     afs_int32 code = 0;
     int dummy;
     AFS_STATCNT(osi_UFSOpen);
-    if (cacheDiskType != AFS_FCACHE_TYPE_UFS) {
+    if (cacheDiskType != AFS_FCACHE_TYPE_UFS)
        osi_Panic("UFSOpen called for non-UFS cache\n");
-    }
-    if (!afs_osicred_initialized) {
-       /* valid for alpha_osf, SunOS, Ultrix */
-       memset((char *)&afs_osi_cred, 0, sizeof(struct AFS_UCRED));
-       afs_osi_cred.cr_ref++;
-       afs_osicred_initialized = 1;
-    }
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
     AFS_GUNLOCK();
     code =
@@ -70,7 +63,7 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat)
     AFS_STATCNT(osi_Stat);
     MObtainWriteLock(&afs_xosi, 320);
     AFS_GUNLOCK();
-    VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, code);
+    VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, code);
     AFS_GLOCK();
     if (code == 0) {
        astat->size = tvattr.va_size;
@@ -116,11 +109,11 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize)
      * of ufs's references directly to cred instead of to
      * credentials parameter.  Probably should fix ufs some day. */
     oldCred = curproc->p_cred->pc_ucred;       /* remember old credentials pointer  */
-    curproc->p_cred->pc_ucred = &afs_osi_cred;
+    curproc->p_cred->pc_ucred = afs_osi_credp;
     /* temporarily use superuser credentials */
     tvattr.va_size = asize;
     AFS_GUNLOCK();
-    VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, code);
+    VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, code);
     AFS_GLOCK();
     curproc->p_cred->pc_ucred = oldCred;       /* restore */
     MReleaseWriteLock(&afs_xosi);
@@ -162,7 +155,7 @@ afs_osi_Read(register struct osi_file *afile, int offset, void *aptr,
     AFS_GUNLOCK();
     code =
        gop_rdwr(UIO_READ, afile->vnode, (caddr_t) aptr, asize, afile->offset,
-                AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid);
+                AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid);
     AFS_GLOCK();
     if (code == 0) {
        code = asize - resid;
@@ -191,11 +184,11 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr,
        afile->offset = offset;
     {
        struct ucred *tmpcred = curproc->p_cred->pc_ucred;
-       curproc->p_cred->pc_ucred = &afs_osi_cred;
+       curproc->p_cred->pc_ucred = afs_osi_credp;
        AFS_GUNLOCK();
        code =
            gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize,
-                    afile->offset, AFS_UIOSYS, IO_UNIT, &afs_osi_cred,
+                    afile->offset, AFS_UIOSYS, IO_UNIT, afs_osi_credp,
                     &resid);
        AFS_GLOCK();
        curproc->p_cred->pc_ucred = tmpcred;
index 879cf85..5d312ec 100644 (file)
@@ -60,7 +60,7 @@ afs_osi_Stat(struct osi_file *afile, struct osi_stat *astat)
     AFS_STATCNT(osi_Stat);
     MObtainWriteLock(&afs_xosi, 320);
     AFS_GUNLOCK();
-    code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc);
+    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc);
     AFS_GLOCK();
     if (code == 0) {
        astat->size = afile->size = tvattr.va_size;
@@ -107,7 +107,7 @@ osi_UFSTruncate(struct osi_file *afile, afs_int32 asize)
     tvattr.va_size = asize;
     AFS_GUNLOCK();
     VOP_LOCK(afile->vnode, LK_EXCLUSIVE | LK_RETRY, curproc);
-    code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc);
+    code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc);
     VOP_UNLOCK(afile->vnode, 0, curproc);
     AFS_GLOCK();
     if (code == 0)
@@ -150,7 +150,7 @@ afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize)
     AFS_GUNLOCK();
     code =
        vn_rdwr(UIO_READ, afile->vnode, aptr, asize, afile->offset,
-               AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid, curproc);
+               AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid, curproc);
     AFS_GLOCK();
     if (code == 0) {
        code = asize - resid;
@@ -182,7 +182,7 @@ afs_osi_Write(struct osi_file *afile, afs_int32 offset, void *aptr,
     VOP_LOCK(afile->vnode, LK_EXCLUSIVE | LK_RETRY, curproc);
     code =
        vn_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, afile->offset,
-               AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid, curproc);
+               AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid, curproc);
     VOP_UNLOCK(afile->vnode, 0, curproc);
     AFS_GLOCK();
 
index d828e9c..b91e19f 100644 (file)
@@ -720,7 +720,7 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio,
            AFS_GUNLOCK();
            code =
                VNOP_RDWR(tfile->vnode, UIO_READ, FREAD, &tuio, NULL, NULL,
-                         NULL, &afs_osi_cred);
+                         NULL, afs_osi_credp);
            AFS_GLOCK();
 #elif defined(AFS_AIX32_ENV)
            code =
@@ -756,26 +756,26 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio,
 #elif defined(AFS_SUN5_ENV)
            AFS_GUNLOCK();
            VOP_RWLOCK(tfile->vnode, 0);
-           code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred);
+           code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp);
            VOP_RWUNLOCK(tfile->vnode, 0);
            AFS_GLOCK();
 #elif defined(AFS_SGI_ENV)
            AFS_GUNLOCK();
            AFS_VOP_RWLOCK(tfile->vnode, VRWLOCK_READ);
-           AFS_VOP_READ(tfile->vnode, &tuio, IO_ISLOCKED, &afs_osi_cred,
+           AFS_VOP_READ(tfile->vnode, &tuio, IO_ISLOCKED, afs_osi_credp,
                         code);
            AFS_VOP_RWUNLOCK(tfile->vnode, VRWLOCK_READ);
            AFS_GLOCK();
 #elif defined(AFS_OSF_ENV)
            tuio.uio_rw = UIO_READ;
            AFS_GUNLOCK();
-           VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred, code);
+           VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp, code);
            AFS_GLOCK();
 #elif defined(AFS_SUN_ENV)
-           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred);
+           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp);
 #elif defined(AFS_HPUX100_ENV)
            AFS_GUNLOCK();
-           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred);
+           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp);
            AFS_GLOCK();
 #elif defined(AFS_LINUX20_ENV)
            AFS_GUNLOCK();
@@ -784,23 +784,23 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio,
 #elif defined(AFS_DARWIN_ENV)
            AFS_GUNLOCK();
            VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, current_proc());
-           code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred);
+           code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp);
            VOP_UNLOCK(tfile->vnode, 0, current_proc());
            AFS_GLOCK();
 #elif defined(AFS_FBSD50_ENV)
            AFS_GUNLOCK();
            VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curthread);
-           code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred);
+           code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp);
            VOP_UNLOCK(tfile->vnode, 0, curthread);
            AFS_GLOCK();
 #elif defined(AFS_XBSD_ENV)
            AFS_GUNLOCK();
            VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc);
-           code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred);
+           code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp);
            VOP_UNLOCK(tfile->vnode, 0, curproc);
            AFS_GLOCK();
 #else
-           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred);
+           code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp);
 #endif
 
 #ifdef IHINT
index 2b8695c..6dabf8a 100644 (file)
@@ -521,7 +521,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
        AFS_GUNLOCK();
        code =
            VNOP_RDWR(tfile->vnode, UIO_WRITE, FWRITE, &tuio, NULL, NULL,
-                     NULL, &afs_osi_cred);
+                     NULL, afs_osi_credp);
        AFS_GLOCK();
 #else
 #ifdef AFS_AIX32_ENV
@@ -536,7 +536,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
 #ifdef AFS_SUN5_ENV
        AFS_GUNLOCK();
        VOP_RWLOCK(tfile->vnode, 1);
-       code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred);
+       code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp);
        VOP_RWUNLOCK(tfile->vnode, 1);
        AFS_GLOCK();
        if (code == ENOSPC)
@@ -547,7 +547,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
        AFS_GUNLOCK();
        avc->states |= CWritingUFS;
        AFS_VOP_RWLOCK(tfile->vnode, VRWLOCK_WRITE);
-       AFS_VOP_WRITE(tfile->vnode, &tuio, IO_ISLOCKED, &afs_osi_cred, code);
+       AFS_VOP_WRITE(tfile->vnode, &tuio, IO_ISLOCKED, afs_osi_credp, code);
        AFS_VOP_RWUNLOCK(tfile->vnode, VRWLOCK_WRITE);
        avc->states &= ~CWritingUFS;
        AFS_GLOCK();
@@ -555,10 +555,10 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
 #ifdef AFS_OSF_ENV
        {
            struct ucred *tmpcred = u.u_cred;
-           u.u_cred = &afs_osi_cred;
+           u.u_cred = afs_osi_credp;
            tuio.uio_rw = UIO_WRITE;
            AFS_GUNLOCK();
-           VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred, code);
+           VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp, code);
            AFS_GLOCK();
            u.u_cred = tmpcred;
        }
@@ -566,7 +566,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
 #if defined(AFS_HPUX100_ENV)
        {
            AFS_GUNLOCK();
-           code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, &afs_osi_cred);
+           code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, afs_osi_credp);
            AFS_GLOCK();
        }
 #else
@@ -581,18 +581,18 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio,
 #if defined(AFS_DARWIN_ENV)
        AFS_GUNLOCK();
        VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, current_proc());
-       code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred);
+       code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp);
        VOP_UNLOCK(tfile->vnode, 0, current_proc());
        AFS_GLOCK();
 #else
 #if defined(AFS_XBSD_ENV)
        AFS_GUNLOCK();
        VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc);
-       code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred);
+       code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp);
        VOP_UNLOCK(tfile->vnode, 0, curproc);
        AFS_GLOCK();
 #else
-       code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, &afs_osi_cred);
+       code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, afs_osi_credp);
 #endif /* AFS_XBSD_ENV */
 #endif /* AFS_DARWIN_ENV */
 #endif /* AFS_LINUX20_ENV */
index 275a826..c0705dc 100644 (file)
@@ -323,7 +323,7 @@ VLDB_Same(struct VenusFid *afid, struct vrequest *areq)
     AFS_STATCNT(CheckVLDB);
     afs_FinalizeReq(areq);
 
-    if ((i = afs_InitReq(&treq, &afs_osi_cred)))
+    if ((i = afs_InitReq(&treq, afs_osi_credp)))
        return DUNNO;
     v = afs_osi_Alloc(sizeof(*v));
     tcell = afs_GetCell(afid->Cell, READ_LOCK);
index bc45262..89859cd 100644 (file)
@@ -40,6 +40,8 @@ lock_t afs_event_lock;
 flid_t osi_flid;
 #endif
 
+struct AFS_UCRED *afs_osi_credp;
+
 void
 osi_Init(void)
 {
@@ -70,17 +72,13 @@ osi_Init(void)
 #endif /* AFS_HPUX_ENV */
 
     if (!afs_osicred_initialized) {
-       memset(&afs_osi_cred, 0, sizeof(struct AFS_UCRED));
-#ifdef AFS_FBSD50_ENV
-       /*
-        * We don't init the mutex.
-        * This will be trouble if anyone tries to use change the refcount.
-        * Proper fix would be to make afs_osi_cred into a pointer,
-        * and crdup() it from curthread.
-        */
-       afs_osi_cred.cr_ref = 1;
+#ifdef AFS_XBSD_ENV
+       /* Can't just invent one, must use crget() because of mutex */
+       afs_osi_credp = crdup(osi_curcred());
 #else
+       memset(&afs_osi_cred, 0, sizeof(struct AFS_UCRED));
        crhold(&afs_osi_cred);  /* don't let it evaporate */
+       afs_osi_credp = &afs_osi_cred;
 #endif
        afs_osicred_initialized = 1;
     }
index 5d1fc02..0d4f0d7 100644 (file)
@@ -396,7 +396,7 @@ typedef struct timeval osi_timeval_t;
 /* Declare any structures which use these macros after the OSI implementation
  * has had the opportunity to redefine them.
  */
-extern struct AFS_UCRED afs_osi_cred;
+extern struct AFS_UCRED afs_osi_cred, *afs_osi_credp;
 
 #ifndef osi_curcred
 #define osi_curcred() (u.u_cred)
index 0cbe000..4157a40 100644 (file)
@@ -507,7 +507,7 @@ afs_CheckServers(int adown, struct cell *acellp)
     XSTATS_DECLS;
 
     AFS_STATCNT(afs_CheckServers);
-    if ((code = afs_InitReq(&treq, &afs_osi_cred)))
+    if ((code = afs_InitReq(&treq, afs_osi_credp)))
        return;
     ObtainReadLock(&afs_xserver);      /* Necessary? */
     ObtainReadLock(&afs_xsrvAddr);
index c1005fd..ab5d6d9 100644 (file)
@@ -335,7 +335,7 @@ afs_FlushVCBs(afs_int32 lockit)
     struct vrequest treq;
     struct conn *tc;
     int safety1, safety2, safety3;
-    XSTATS_DECLS if ((code = afs_InitReq(&treq, &afs_osi_cred)))
+    XSTATS_DECLS if ((code = afs_InitReq(&treq, afs_osi_credp)))
        return code;
     treq.flags |= O_NONBLOCK;
     tfids = afs_osi_Alloc(sizeof(struct AFSFid) * AFS_MAXCBRSCALL);
@@ -1199,7 +1199,7 @@ afs_FlushActiveVcaches(register afs_int32 doflocks)
                ReleaseReadLock(&afs_xvcache);
                ObtainWriteLock(&tvc->lock, 51);
                do {
-                   afs_InitReq(&treq, &afs_osi_cred);
+                   afs_InitReq(&treq, afs_osi_credp);
                    treq.flags |= O_NONBLOCK;
 
                    tc = afs_Conn(&tvc->fid, &treq, SHARED_LOCK);
index 5a5ca04..c59afe8 100644 (file)
@@ -603,7 +603,7 @@ afs_NewVolumeByName(char *aname, afs_int32 acell, int agood,
     tve = (struct vldbentry *)(tbuffer + 1024);
     ntve = (struct nvldbentry *)tve;
     utve = (struct uvldbentry *)tve;
-    afs_InitReq(&treq, &afs_osi_cred); /* *must* be unauth for vldb */
+    afs_InitReq(&treq, afs_osi_credp); /* *must* be unauth for vldb */
     do {
        tconn =
            afs_ConnByMHosts(tcell->cellHosts, tcell->vlport, tcell->cellNum,
index dfdec37..6563ef8 100644 (file)
@@ -786,9 +786,8 @@ rxk_NewSocket(short aport)
 #elif defined(AFS_SGI65_ENV) || defined(AFS_OBSD_ENV)
     code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP);
 #elif defined(AFS_FBSD50_ENV)
-    code =
-       socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP, &afs_osi_cred,
-                curthread);
+    code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP,
+                   afs_osi_credp, curthread);
 #elif defined(AFS_FBSD40_ENV)
     code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP, curproc);
 #else