]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE12-setgroups-return-errors-negative-20030515
authorChristopher Allen Wing <wingc@engin.umich.edu>
Thu, 15 May 2003 16:16:45 +0000 (16:16 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 15 May 2003 16:16:45 +0000 (16:16 +0000)
FIXES 1383

return errors negative as linux kernel needs

(cherry picked from commit 3c66862d6932430e64e7abbd8c87fffd47b5e2cd)

src/afs/LINUX/osi_groups.c

index c204299a92545404f00fcb4a3aa0cff4a99a253e..3c6947237d97b4564260de951909dd2019e83ba8 100644 (file)
@@ -137,7 +137,8 @@ asmlinkage long afs_xsetgroups(int gidsetsize, gid_t *grouplist)
     crfree(cr);
     unlock_kernel();
 
-    return code;
+    /* Linux syscall ABI returns errno as negative */
+    return (- code);
 }
 
 #if defined(AFS_LINUX24_ENV)
@@ -169,7 +170,8 @@ asmlinkage int afs_xsetgroups32(int gidsetsize, gid_t *grouplist)
     crfree(cr);
     unlock_kernel();
 
-    return code;
+    /* Linux syscall ABI returns errno as negative */
+    return (- code);
 }
 #endif
 
@@ -202,7 +204,8 @@ asmlinkage int afs32_xsetgroups(int gidsetsize, __kernel_gid_t32 *grouplist)
     crfree(cr);
     unlock_kernel();
 
-    return code;
+    /* Linux syscall ABI returns errno as negative */
+    return (- code);
 }
 #ifdef AFS_LINUX24_ENV
 /* Intercept the uid32 system call as used by 32bit programs. */
@@ -233,7 +236,8 @@ asmlinkage int afs32_xsetgroups32(int gidsetsize, __kernel_gid_t32 *grouplist)
     crfree(cr);
     unlock_kernel();
 
-    return code;
+    /* Linux syscall ABI returns errno as negative */
+    return (- code);
 }
 #endif
 #endif