]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
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 4fd610c106c78053d18fd19ba46dae7ffd2f67f9..2d25c5f99a652e190fd93efc57b09931ada34cd4 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 a6bbeda95ca172903073d22503c4d3073ab058d1..f13418d198e03a96c717eb1f645f21a368d291f1 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 e8323f80f646ea9cc117006dcfa35fd0b55cc239..619345bef772db9508ff0dac38e2558bc25284d7 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 bdf960af4dd8c97eca410734f562035946296d8c..daab16781f3afb180333242a9fb44a6ecbd247c8 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 b484cb2106db8201e5c043fadf18ac25192e7bfc..27f2b6bb8341b391d278c21e5fe9662739cd60ac 100644 (file)
@@ -27,7 +27,7 @@ RCSID
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int error;
 
index 172cebd510c35b0c8d38de3522a53047f1b67b1d..689482964a9e92368b2c3855184e65a94fcc90b7 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 3e0cb3999b06291beb20ab89ae6d472126693983..83e7c83f43c34f8cad1f87bfe09a4ede7b40a7f3 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 ccf4661fc462b313db93ced4dd03af9229656f52..44f3c49e5c9a9a5c2eee533bc43cb92a55bd0276 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 7bc49561ae1d1ca0c958651cf183c0271b1f02df..e658a1abdc62b90e47585100a7c41c5b129aa481 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 3610b7bc56f04d0b802adbd27d832ad40a8d6d0e..05894b312143040c0be1b2cc9c5e44df51563f87 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 fb6b598765e809cfb4329788af7ab81ba44e300e..c17eeb158585f1dfb87dc5008b10f0067c0f6d6f 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 f7985f820061d3345039bb050efc9861c1b8e66e..04e6c7e7c7dc267abb179577df1c7c5f7621a9d4 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 c07775086c0b18692cba946162c4e068b9c88b47..e813156fc554fb1fb5b4336b5d01bea434bb941b 100644 (file)
@@ -29,7 +29,7 @@ RCSID
  * Note that it must NOT set errno.
  */
 
-afs_suser()
+afs_suser(void *credp)
 {
     int error;
 
index 4c456271a10da4357dc3da4b07fc8d1a01f6b89e..45e1fea346a1b9bab96cd0ec663c8205f2fefdef 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 a7d051b1a64a1ef74150d578ffff485e622aacd5..304d400226714c59d9f4d328c13db495a913fa5d 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 be85d6f61ad57458205a9dd26b11bf7f031ed5d8..97cc6c584c033440d4df0402377697dee74f3dd1 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 c5c613b1b813918b7b4734c2c2f0727e5f1d54c2..ad5922d07618a9f59427b60c74a8814f900267f0 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 a03ffd7a6300b4e3c64a28ef0e362bab9ec1e9b4..ce9a8ce47f83d779ef32c6771b2d9da5a7669303 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 3d8a8bb23a024d3d182f2ddc6de1dfd1ff75834b..12b7d54ecd2155c85dbfdd75305fbaed3aa7b1de 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) {