From 18e38453925174f574d011b0f3d557763450391e Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sat, 6 Nov 2010 03:17:17 -0400 Subject: [PATCH] Linux: Fix prototypes for afs_xsetgroups and sys_setgroupsp and friends MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes some “warning: function declaration isn’t a prototype”, and makes the prototypes consistent with the corresponding definitions. Signed-off-by: Anders Kaseorg Reviewed-on: http://gerrit.openafs.org/3278 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear (cherry picked from commit c07b47169adb85621c328a3687ea62ef84e43bb1) Change-Id: Ia91a598fc4b25f5fd7f29aed38a7caa3437ffc89 Reviewed-on: http://gerrit.openafs.org/3490 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- src/afs/LINUX/osi_groups.c | 21 +++++++++++++++++---- src/afs/LINUX/osi_syscall.c | 14 +++++++------- src/afs/LINUX24/osi_groups.c | 21 +++++++++++++++++---- src/afs/LINUX24/osi_syscall.c | 12 ++++++------ 4 files changed, 47 insertions(+), 21 deletions(-) diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c index 1191cf2a6..c3515ad1a 100644 --- a/src/afs/LINUX/osi_groups.c +++ b/src/afs/LINUX/osi_groups.c @@ -292,7 +292,8 @@ afs_xsetgroups(int gidsetsize, gid_t * grouplist) } /* Intercept the standard uid32 system call. */ -extern asmlinkage long (*sys_setgroups32p) (int gidsetsize, gid_t * grouplist); +extern asmlinkage int (*sys_setgroups32p) (int gidsetsize, + __kernel_gid32_t * grouplist); asmlinkage long afs_xsetgroups32(int gidsetsize, gid_t * grouplist) { @@ -323,7 +324,7 @@ afs_xsetgroups32(int gidsetsize, gid_t * grouplist) #if defined(AFS_PPC64_LINUX20_ENV) /* Intercept the uid16 system call as used by 32bit programs. */ -extern long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); +extern asmlinkage long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); asmlinkage long afs32_xsetgroups(int gidsetsize, gid_t *grouplist) { long code; @@ -353,7 +354,13 @@ asmlinkage long afs32_xsetgroups(int gidsetsize, gid_t *grouplist) #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_AMD64_LINUX20_ENV) /* Intercept the uid16 system call as used by 32bit programs. */ -extern long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); +#ifdef AFS_AMD64_LINUX20_ENV +extern asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); +#endif /* AFS_AMD64_LINUX20_ENV */ +#ifdef AFS_SPARC64_LINUX26_ENV +extern asmlinkage int (*sys32_setgroupsp) (int gidsetsize, + __kernel_gid32_t * grouplist); +#endif /* AFS_SPARC64_LINUX26_ENV */ asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist) { @@ -382,7 +389,13 @@ afs32_xsetgroups(int gidsetsize, u16 * grouplist) } /* Intercept the uid32 system call as used by 32bit programs. */ -extern long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); +#ifdef AFS_AMD64_LINUX20_ENV +extern asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); +#endif /* AFS_AMD64_LINUX20_ENV */ +#ifdef AFS_SPARC64_LINUX26_ENV +extern asmlinkage int (*sys32_setgroups32p) (int gidsetsize, + __kernel_gid32_t * grouplist); +#endif /* AFS_SPARC64_LINUX26_ENV */ asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist) { diff --git a/src/afs/LINUX/osi_syscall.c b/src/afs/LINUX/osi_syscall.c index 19dc78f2c..f22ae3836 100644 --- a/src/afs/LINUX/osi_syscall.c +++ b/src/afs/LINUX/osi_syscall.c @@ -99,10 +99,10 @@ uint32_t syscall_jump_code[] = { }; #endif -extern long afs_xsetgroups(int gidsetsize, gid_t * grouplist); +extern asmlinkage long afs_xsetgroups(int gidsetsize, gid_t * grouplist); asmlinkage long (*sys_setgroupsp) (int gidsetsize, gid_t * grouplist); -extern int afs_xsetgroups32(int gidsetsize, gid_t * grouplist); +extern asmlinkage long afs_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage int (*sys_setgroups32p) (int gidsetsize, __kernel_gid32_t * grouplist); @@ -111,9 +111,9 @@ asmlinkage int (*sys_setgroups32p) (int gidsetsize, static SYSCALLTYPE *afs_ia32_sys_call_table; static SYSCALLTYPE ia32_ni_syscall = 0; -extern int afs32_xsetgroups(); +extern asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist); asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); -extern int afs32_xsetgroups32(); +extern asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); #endif /* AFS_AMD64_LINUX20_ENV */ @@ -125,7 +125,7 @@ static SYSCALLTYPE afs_ni_syscall32 = 0; static SYSCALLTYPE old_sys_setgroupsp = 0; static SYSCALLTYPE old_sys32_setgroupsp = 0; -extern int afs32_xsetgroups(); +asmlinkage long afs32_xsetgroups(int gidsetsize, gid_t *grouplist) asmlinkage long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); asmlinkage long sys_close(unsigned int fd); @@ -151,12 +151,12 @@ static void sys32_setgroups_stub(void) static SYSCALLTYPE *afs_sys_call_table32; static SYSCALLTYPE afs_ni_syscall32 = 0; -extern int afs32_xsetgroups(); +extern asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist); asmlinkage int (*sys32_setgroupsp) (int gidsetsize, __kernel_gid32_t * grouplist); /* This number is not exported for some bizarre reason. */ #define __NR_setgroups32 82 -extern int afs32_xsetgroups32(); +extern asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage int (*sys32_setgroups32p) (int gidsetsize, __kernel_gid32_t * grouplist); diff --git a/src/afs/LINUX24/osi_groups.c b/src/afs/LINUX24/osi_groups.c index 5910a3c8d..a0ac21de0 100644 --- a/src/afs/LINUX24/osi_groups.c +++ b/src/afs/LINUX24/osi_groups.c @@ -199,7 +199,8 @@ afs_xsetgroups(int gidsetsize, gid_t * grouplist) #if defined(AFS_LINUX24_ENV) /* Intercept the standard uid32 system call. */ -extern asmlinkage long (*sys_setgroups32p) (int gidsetsize, gid_t * grouplist); +extern asmlinkage int (*sys_setgroups32p) (int gidsetsize, + __kernel_gid32_t * grouplist); asmlinkage long afs_xsetgroups32(int gidsetsize, gid_t * grouplist) { @@ -235,7 +236,7 @@ afs_xsetgroups32(int gidsetsize, gid_t * grouplist) #if defined(AFS_PPC64_LINUX20_ENV) /* Intercept the uid16 system call as used by 32bit programs. */ -extern long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); +extern asmlinkage long (*sys32_setgroupsp)(int gidsetsize, gid_t *grouplist); asmlinkage long afs32_xsetgroups(int gidsetsize, gid_t *grouplist) { long code; @@ -269,7 +270,13 @@ asmlinkage long afs32_xsetgroups(int gidsetsize, gid_t *grouplist) #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_AMD64_LINUX20_ENV) /* Intercept the uid16 system call as used by 32bit programs. */ -extern long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); +#ifdef AFS_AMD64_LINUX20_ENV +extern asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); +#endif /* AFS_AMD64_LINUX20_ENV */ +#ifdef AFS_SPARC64_LINUX26_ENV +extern asmlinkage int (*sys32_setgroupsp) (int gidsetsize, + __kernel_gid32_t * grouplist); +#endif /* AFS_SPARC64_LINUX26_ENV */ asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist) { @@ -303,7 +310,13 @@ afs32_xsetgroups(int gidsetsize, u16 * grouplist) #ifdef AFS_LINUX24_ENV /* Intercept the uid32 system call as used by 32bit programs. */ -extern long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); +#ifdef AFS_AMD64_LINUX20_ENV +extern asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); +#endif /* AFS_AMD64_LINUX20_ENV */ +#ifdef AFS_SPARC64_LINUX26_ENV +extern asmlinkage int (*sys32_setgroups32p) (int gidsetsize, + __kernel_gid_t32 * grouplist); +#endif /* AFS_SPARC64_LINUX26_ENV */ asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist) { diff --git a/src/afs/LINUX24/osi_syscall.c b/src/afs/LINUX24/osi_syscall.c index ac548cad4..cb69f3de8 100644 --- a/src/afs/LINUX24/osi_syscall.c +++ b/src/afs/LINUX24/osi_syscall.c @@ -103,11 +103,11 @@ uint32_t syscall_jump_code[] = { }; #endif -extern long afs_xsetgroups(int gidsetsize, gid_t * grouplist); +extern asmlinkage long afs_xsetgroups(int gidsetsize, gid_t * grouplist); asmlinkage long (*sys_setgroupsp) (int gidsetsize, gid_t * grouplist); #ifdef AFS_LINUX24_ENV -extern int afs_xsetgroups32(int gidsetsize, gid_t * grouplist); +extern asmlinkage long afs_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage int (*sys_setgroups32p) (int gidsetsize, __kernel_gid32_t * grouplist); #endif @@ -122,10 +122,10 @@ asmlinkage int (*sys_settimeofdayp) (struct timeval * tv, struct timezone * tz); static SYSCALLTYPE *afs_ia32_sys_call_table; static SYSCALLTYPE ia32_ni_syscall = 0; -extern int afs32_xsetgroups(); +extern asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist); asmlinkage long (*sys32_setgroupsp) (int gidsetsize, u16 * grouplist); #ifdef AFS_LINUX24_ENV -extern int afs32_xsetgroups32(); +extern asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); #endif /* __NR_ia32_setgroups32 */ #endif /* AFS_AMD64_LINUX20_ENV */ @@ -136,13 +136,13 @@ asmlinkage long (*sys32_setgroups32p) (int gidsetsize, gid_t * grouplist); extern SYSCALLTYPE *afs_sys_call_table32; static SYSCALLTYPE afs_ni_syscall32 = 0; -extern int afs32_xsetgroups(); +extern asmlinkage long afs32_xsetgroups(int gidsetsize, u16 * grouplist); asmlinkage int (*sys32_setgroupsp) (int gidsetsize, __kernel_gid_t32 * grouplist); #ifdef AFS_LINUX24_ENV /* This number is not exported for some bizarre reason. */ #define __NR_setgroups32 82 -extern int afs32_xsetgroups32(); +extern asmlinkage long afs32_xsetgroups32(int gidsetsize, gid_t * grouplist); asmlinkage int (*sys32_setgroups32p) (int gidsetsize, __kernel_gid_t32 * grouplist); #endif -- 2.39.5