afs-suser-consistent-20040728
authorKris Van Hees <kvanhees@sinenomine.net>
Thu, 29 Jul 2004 04:13:37 +0000 (04:13 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 29 Jul 2004 04:13:37 +0000 (04:13 +0000)
FIXES 6034

always call afs_suser() with one arg.
always take one.

19 files changed:
src/afs/AIX/osi_misc.c
src/afs/DARWIN/osi_inode.c
src/afs/DARWIN/osi_misc.c
src/afs/DUX/osi_inode.c
src/afs/DUX/osi_misc.c
src/afs/FBSD/osi_inode.c
src/afs/FBSD/osi_machdep.h
src/afs/HPUX/osi_inode.c
src/afs/HPUX/osi_misc.c
src/afs/IRIX/osi_inode.c
src/afs/IRIX/osi_machdep.h
src/afs/NBSD/osi_inode.c
src/afs/NBSD/osi_misc.c
src/afs/OBSD/osi_machdep.h
src/afs/SOLARIS/osi_machdep.h
src/afs/UKERNEL/osi_machdep.h
src/afs/afs_call.c
src/afs/afs_osi.c
src/afs/afs_osi_pag.c

index 4fd610c..2d25c5f 100644 (file)
@@ -167,7 +167,7 @@ aix_gnode_rele(vp)
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     register rc;
     char err;
index a6bbeda..f13418d 100644 (file)
@@ -167,7 +167,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, retval)
 
     AFS_STATCNT(afs_syscall_icreate);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = getinode(0, (dev_t) dev, 2, &ip, &dummy);
@@ -241,7 +241,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval)
 
     AFS_STATCNT(afs_syscall_iopen);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
@@ -280,7 +280,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     register int code;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
index e8323f8..619345b 100644 (file)
@@ -49,7 +49,7 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink,
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int error;
     struct proc *p = current_proc();
index bdf960a..daab167 100644 (file)
@@ -185,7 +185,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, retval)
 
     AFS_STATCNT(afs_syscall_icreate);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = getinode(0, (dev_t) dev, 2, &ip, &dummy);
@@ -262,7 +262,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval)
 
     AFS_STATCNT(afs_syscall_iopen);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
@@ -312,7 +312,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     register int code;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
index b484cb2..27f2b6b 100644 (file)
@@ -27,7 +27,7 @@ RCSID
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int error;
 
index 172cebd..6894829 100644 (file)
@@ -141,7 +141,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, retval)
 
     AFS_STATCNT(afs_syscall_icreate);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = getinode(0, (dev_t) dev, 2, &ip, &dummy);
@@ -219,7 +219,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval)
 
     AFS_STATCNT(afs_syscall_iopen);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
@@ -258,7 +258,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     register int code;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
index 3e0cb39..83e7c83 100644 (file)
@@ -71,7 +71,7 @@ extern struct simplelock afs_rxglobal_lock;
 #define VROOT          VV_ROOT
 #define v_flag         v_vflag
 #define osi_curcred()  (curthread->td_ucred)
-#define afs_suser()    (!suser(curthread))
+#define afs_suser(x)   (!suser(curthread))
 #define simple_lock(x) mtx_lock(x)
 #define simple_unlock(x) mtx_unlock(x)
 #define        gop_rdwr(rw,gp,base,len,offset,segflg,unit,cred,aresid) \
@@ -85,7 +85,7 @@ extern struct mtx afs_global_mtx;
 extern struct lock afs_global_lock;
 
 #define osi_curcred()  (curproc->p_cred->pc_ucred)
-#define afs_suser()    (!suser(curproc))
+#define afs_suser(x)   (!suser(curproc))
 #define getpid()       curproc
 #define        gop_rdwr(rw,gp,base,len,offset,segflg,unit,cred,aresid) \
   vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(unit),(cred),(aresid), curproc)
index ccf4661..44f3c49 100644 (file)
@@ -86,7 +86,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4)
 
     AFS_STATCNT(afs_syscall_icreate);
 
-    if (!afs_suser()) {
+    if (!afs_suser(NULL)) {
        u.u_error = EPERM;
        goto out;
     }
@@ -131,7 +131,7 @@ afs_syscall_iopen(dev, inode, usrmod)
 
     AFS_STATCNT(afs_syscall_iopen);
 
-    if (!afs_suser()) {
+    if (!afs_suser(NULL)) {
        u.u_error = EPERM;
        goto out;
     }
@@ -190,7 +190,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     register afs_int32 code;
 
-    if (!afs_suser()) {
+    if (!afs_suser(NULL)) {
        u.u_error = EPERM;
        goto out;
     }
index 7bc4956..e658a1a 100644 (file)
@@ -29,7 +29,7 @@ RCSID
  * Here we have to save and restore errno since the HP-UX suser() sets errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int save_errno;
     int code;
index 3610b7b..05894b3 100644 (file)
@@ -314,7 +314,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, rvp)
     int error;
 
     AFS_STATCNT(afs_syscall_icreate);
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
 
     if (error = getinode(0, (dev_t) dev, 2, &ip))
@@ -567,7 +567,7 @@ afs_syscall_icreatename64(int dev, int datap, int datalen, int paramp,
     ino_t ino;
 
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
 
 #ifdef AFS_SGI65_ENV
@@ -638,7 +638,7 @@ afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp)
     struct vnode *vp;
 
     AFS_STATCNT(afs_syscall_iopen);
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
     vfsp = vfs_devsearch(dev, xfs_fstype);
     if (!vfsp)
@@ -689,7 +689,7 @@ afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp)
     struct vfs *vfsp;
 
     AFS_STATCNT(afs_syscall_iopen);
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
     vfsp = vfs_devsearch(dev);
     if (!vfsp) {
@@ -764,7 +764,7 @@ afs_syscall_iopen(dev, inode, usrmod, rvp)
     int error;
 
     AFS_STATCNT(afs_syscall_iopen);
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
     if (error = igetinode(0, (dev_t) dev, inode, &ip))
        return error;
@@ -971,7 +971,7 @@ iincdec64(int dev, int inode_hi, int inode_lo, int inode_p1, int amount)
 {
     struct vfs *vfsp;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
 #ifdef AFS_SGI65_ENV
     vfsp = vfs_devsearch(dev, VFS_FSTYPE_ANY);
@@ -1044,7 +1044,7 @@ iincdec(dev, inode, inode_p1, amount)
 {
     struct vfs *vfsp;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
     vfsp = vfs_devsearch(dev);
     if (!vfsp) {
@@ -1083,7 +1083,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     int error = 0;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
     if (error = igetinode(0, (dev_t) dev, inode, &ip))
        return error;
@@ -1146,7 +1146,7 @@ afs_syscall_ilistinode64(int dev, int inode_hi, int inode_lo, int datap,
     i_list_inode_t data;
     int idatalen;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return EPERM;
 #ifdef AFS_SGI65_ENV
     vfsp = vfs_devsearch(dev, xfs_fstype);
index fb6b598..c17eeb1 100644 (file)
@@ -205,11 +205,9 @@ extern long afs_global_owner;
 
 #ifdef AFS_SGI64_ENV
 #undef suser
-#define suser() cap_able(CAP_DEVICE_MGT)
-#define afs_suser()    suser()
-#else
-#define        afs_suser           suser
+#define suser()                cap_able(CAP_DEVICE_MGT)
 #endif
+#define afs_suser(x)   suser()
 
 #define afs_hz HZ
 
index f7985f8..04e6c7e 100644 (file)
@@ -148,7 +148,7 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, retval)
 
     AFS_STATCNT(afs_syscall_icreate);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = getinode(0, (dev_t) dev, 2, &ip, &dummy);
@@ -225,7 +225,7 @@ afs_syscall_iopen(dev, inode, usrmod, retval)
 
     AFS_STATCNT(afs_syscall_iopen);
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
@@ -263,7 +263,7 @@ afs_syscall_iincdec(dev, inode, inode_p1, amount)
     struct inode *ip;
     register int code;
 
-    if (!afs_suser())
+    if (!afs_suser(NULL))
        return (EPERM);
 
     code = igetinode(0, (dev_t) dev, (ino_t) inode, &ip, &dummy);
index c077750..e813156 100644 (file)
@@ -29,7 +29,7 @@ RCSID
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int error;
 
index 4c45627..45e1fea 100644 (file)
@@ -67,7 +67,7 @@ extern struct simplelock afs_rxglobal_lock;
 /* proc, cred */
 #define        AFS_PROC        struct proc
 #define        AFS_UCRED       ucred
-#define afs_suser()    afs_osi_suser(osi_curcred())
+#define afs_suser(x)   afs_osi_suser(osi_curcred())
 #define getpid()       curproc
 #define osi_curcred()  (curproc->p_cred->pc_ucred)
 #define osi_curproc()  curproc
index a7d051b..304d400 100644 (file)
@@ -60,7 +60,7 @@ extern void *afs_osi_Alloc_NoSleep(size_t size);
 #define gop_rdwr(rw,gp,base,len,offset,segflg,ioflag,ulimit,cr,aresid) \
   vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(ioflag),(ulimit),(cr),(aresid))
 
-#define        afs_suser           suser
+#define        afs_suser(x)        suser(x)
 
 
 #ifdef KERNEL
index be85d6f..97cc6c5 100644 (file)
@@ -37,7 +37,7 @@
 #define osi_Time() (time(NULL))
 
 #define osi_vnhold(avc, r)  do { VN_HOLD(AFSTOV(avc)); } while(0)
-#define        afs_suser           suser
+#define        afs_suser(x)        suser(x)
 
 /*
  * Global lock support.
index c5c613b..ad5922d 100644 (file)
@@ -355,7 +355,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
        /* only root can run this code */
        return (EACCES);
 #else
-    if (!afs_suser() && (parm != AFSOP_GETMTU)
+    if (!afs_suser(NULL) && (parm != AFSOP_GETMTU)
        && (parm != AFSOP_GETMASK)) {
        /* only root can run this code */
 #if defined(KERNEL_HAVE_UERROR)
@@ -1694,7 +1694,7 @@ Afscall_icl(long opcode, long p1, long p2, long p3, long p4, long *retval)
        return (EACCES);
     }
 #else
-    if (!afs_suser()) {                /* only root can run this code */
+    if (!afs_suser(NULL)) {    /* only root can run this code */
 #if defined(KERNEL_HAVE_UERROR)
        setuerror(EACCES);
        return EACCES;
index a03ffd7..ce9a8ce 100644 (file)
@@ -617,7 +617,7 @@ afs_osi_suser(void *credp)
 #if defined(AFS_SUN5_ENV)
     return afs_suser(credp);
 #else
-    return afs_suser();
+    return afs_suser(NULL);
 #endif
 }
 #endif
index 3d8a8bb..12b7d54 100644 (file)
@@ -161,7 +161,7 @@ afs_setpag(void)
 #elif  defined(AFS_OBSD_ENV)
     if (!afs_osi_suser(p->p_ucred))
 #else
-    if (!afs_suser())
+    if (!afs_suser(NULL))
 #endif
     {
        while (osi_Time() - pag_epoch < pagCounter) {
@@ -251,7 +251,7 @@ afs_setpag_val(int pagval)
 #ifdef AFS_SUN5_ENV
     if (!afs_suser(*credpp))
 #else
-    if (!afs_suser())
+    if (!afs_suser(NULL))
 #endif
     {
        while (osi_Time() - pag_epoch < pagCounter) {