diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:14:05 -0500 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-01-14 08:15:19 -0500 |
commit | ae1251ab785f6da87219df8352ffdac68bba23e4 (patch) | |
tree | 8a37770a08b78f8c184764f34cf8455c894ce117 /kernel | |
parent | dbf040d9d1cbf1ef6250bdb095c5c118950bcde8 (diff) |
[CVE-2009-0029] System call wrappers part 03
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sys.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/kernel/sys.c b/kernel/sys.c index 4c33555f8d95..ace9ced598b9 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -478,7 +478,7 @@ void ctrl_alt_del(void) | |||
478 | * SMP: There are not races, the GIDs are checked only by filesystem | 478 | * SMP: There are not races, the GIDs are checked only by filesystem |
479 | * operations (as far as semantic preservation is concerned). | 479 | * operations (as far as semantic preservation is concerned). |
480 | */ | 480 | */ |
481 | asmlinkage long sys_setregid(gid_t rgid, gid_t egid) | 481 | SYSCALL_DEFINE2(setregid, gid_t, rgid, gid_t, egid) |
482 | { | 482 | { |
483 | const struct cred *old; | 483 | const struct cred *old; |
484 | struct cred *new; | 484 | struct cred *new; |
@@ -529,7 +529,7 @@ error: | |||
529 | * | 529 | * |
530 | * SMP: Same implicit races as above. | 530 | * SMP: Same implicit races as above. |
531 | */ | 531 | */ |
532 | asmlinkage long sys_setgid(gid_t gid) | 532 | SYSCALL_DEFINE1(setgid, gid_t, gid) |
533 | { | 533 | { |
534 | const struct cred *old; | 534 | const struct cred *old; |
535 | struct cred *new; | 535 | struct cred *new; |
@@ -597,7 +597,7 @@ static int set_user(struct cred *new) | |||
597 | * 100% compatible with BSD. A program which uses just setuid() will be | 597 | * 100% compatible with BSD. A program which uses just setuid() will be |
598 | * 100% compatible with POSIX with saved IDs. | 598 | * 100% compatible with POSIX with saved IDs. |
599 | */ | 599 | */ |
600 | asmlinkage long sys_setreuid(uid_t ruid, uid_t euid) | 600 | SYSCALL_DEFINE2(setreuid, uid_t, ruid, uid_t, euid) |
601 | { | 601 | { |
602 | const struct cred *old; | 602 | const struct cred *old; |
603 | struct cred *new; | 603 | struct cred *new; |
@@ -661,7 +661,7 @@ error: | |||
661 | * will allow a root program to temporarily drop privileges and be able to | 661 | * will allow a root program to temporarily drop privileges and be able to |
662 | * regain them by swapping the real and effective uid. | 662 | * regain them by swapping the real and effective uid. |
663 | */ | 663 | */ |
664 | asmlinkage long sys_setuid(uid_t uid) | 664 | SYSCALL_DEFINE1(setuid, uid_t, uid) |
665 | { | 665 | { |
666 | const struct cred *old; | 666 | const struct cred *old; |
667 | struct cred *new; | 667 | struct cred *new; |
@@ -705,7 +705,7 @@ error: | |||
705 | * This function implements a generic ability to update ruid, euid, | 705 | * This function implements a generic ability to update ruid, euid, |
706 | * and suid. This allows you to implement the 4.4 compatible seteuid(). | 706 | * and suid. This allows you to implement the 4.4 compatible seteuid(). |
707 | */ | 707 | */ |
708 | asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid) | 708 | SYSCALL_DEFINE3(setresuid, uid_t, ruid, uid_t, euid, uid_t, suid) |
709 | { | 709 | { |
710 | const struct cred *old; | 710 | const struct cred *old; |
711 | struct cred *new; | 711 | struct cred *new; |
@@ -771,7 +771,7 @@ SYSCALL_DEFINE3(getresuid, uid_t __user *, ruid, uid_t __user *, euid, uid_t __u | |||
771 | /* | 771 | /* |
772 | * Same as above, but for rgid, egid, sgid. | 772 | * Same as above, but for rgid, egid, sgid. |
773 | */ | 773 | */ |
774 | asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid) | 774 | SYSCALL_DEFINE3(setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid) |
775 | { | 775 | { |
776 | const struct cred *old; | 776 | const struct cred *old; |
777 | struct cred *new; | 777 | struct cred *new; |
@@ -833,7 +833,7 @@ SYSCALL_DEFINE3(getresgid, gid_t __user *, rgid, gid_t __user *, egid, gid_t __u | |||
833 | * whatever uid it wants to). It normally shadows "euid", except when | 833 | * whatever uid it wants to). It normally shadows "euid", except when |
834 | * explicitly set by setfsuid() or for access.. | 834 | * explicitly set by setfsuid() or for access.. |
835 | */ | 835 | */ |
836 | asmlinkage long sys_setfsuid(uid_t uid) | 836 | SYSCALL_DEFINE1(setfsuid, uid_t, uid) |
837 | { | 837 | { |
838 | const struct cred *old; | 838 | const struct cred *old; |
839 | struct cred *new; | 839 | struct cred *new; |
@@ -870,7 +870,7 @@ change_okay: | |||
870 | /* | 870 | /* |
871 | * Samma på svenska.. | 871 | * Samma på svenska.. |
872 | */ | 872 | */ |
873 | asmlinkage long sys_setfsgid(gid_t gid) | 873 | SYSCALL_DEFINE1(setfsgid, gid_t, gid) |
874 | { | 874 | { |
875 | const struct cred *old; | 875 | const struct cred *old; |
876 | struct cred *new; | 876 | struct cred *new; |
@@ -1311,7 +1311,7 @@ int set_current_groups(struct group_info *group_info) | |||
1311 | 1311 | ||
1312 | EXPORT_SYMBOL(set_current_groups); | 1312 | EXPORT_SYMBOL(set_current_groups); |
1313 | 1313 | ||
1314 | asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist) | 1314 | SYSCALL_DEFINE2(getgroups, int, gidsetsize, gid_t __user *, grouplist) |
1315 | { | 1315 | { |
1316 | const struct cred *cred = current_cred(); | 1316 | const struct cred *cred = current_cred(); |
1317 | int i; | 1317 | int i; |