Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 26038
b: refs/heads/master
c: 5a7b46b
h: refs/heads/master
v: v3
  • Loading branch information
OGAWA Hirofumi authored and Linus Torvalds committed Apr 19, 2006
1 parent f48eda4 commit 691d99c
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 52824b6b5fa0533e2b2adc9df396d0e9ff6fb02a
refs/heads/master: 5a7b46b369419493bab4de67b1526e9f76b22a7f
59 changes: 46 additions & 13 deletions trunk/kernel/uid16.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,43 +20,67 @@

asmlinkage long sys_chown16(const char __user * filename, old_uid_t user, old_gid_t group)
{
return sys_chown(filename, low2highuid(user), low2highgid(group));
long ret = sys_chown(filename, low2highuid(user), low2highgid(group));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_lchown16(const char __user * filename, old_uid_t user, old_gid_t group)
{
return sys_lchown(filename, low2highuid(user), low2highgid(group));
long ret = sys_lchown(filename, low2highuid(user), low2highgid(group));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group)
{
return sys_fchown(fd, low2highuid(user), low2highgid(group));
long ret = sys_fchown(fd, low2highuid(user), low2highgid(group));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid)
{
return sys_setregid(low2highgid(rgid), low2highgid(egid));
long ret = sys_setregid(low2highgid(rgid), low2highgid(egid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setgid16(old_gid_t gid)
{
return sys_setgid(low2highgid(gid));
long ret = sys_setgid(low2highgid(gid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid)
{
return sys_setreuid(low2highuid(ruid), low2highuid(euid));
long ret = sys_setreuid(low2highuid(ruid), low2highuid(euid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setuid16(old_uid_t uid)
{
return sys_setuid(low2highuid(uid));
long ret = sys_setuid(low2highuid(uid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid)
{
return sys_setresuid(low2highuid(ruid), low2highuid(euid),
low2highuid(suid));
long ret = sys_setresuid(low2highuid(ruid), low2highuid(euid),
low2highuid(suid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_getresuid16(old_uid_t __user *ruid, old_uid_t __user *euid, old_uid_t __user *suid)
Expand All @@ -72,8 +96,11 @@ asmlinkage long sys_getresuid16(old_uid_t __user *ruid, old_uid_t __user *euid,

asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid)
{
return sys_setresgid(low2highgid(rgid), low2highgid(egid),
low2highgid(sgid));
long ret = sys_setresgid(low2highgid(rgid), low2highgid(egid),
low2highgid(sgid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_getresgid16(old_gid_t __user *rgid, old_gid_t __user *egid, old_gid_t __user *sgid)
Expand All @@ -89,12 +116,18 @@ asmlinkage long sys_getresgid16(old_gid_t __user *rgid, old_gid_t __user *egid,

asmlinkage long sys_setfsuid16(old_uid_t uid)
{
return sys_setfsuid(low2highuid(uid));
long ret = sys_setfsuid(low2highuid(uid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

asmlinkage long sys_setfsgid16(old_gid_t gid)
{
return sys_setfsgid(low2highgid(gid));
long ret = sys_setfsgid(low2highgid(gid));
/* avoid REGPARM breakage on x86: */
prevent_tail_call(ret);
return ret;
}

static int groups16_to_user(old_gid_t __user *grouplist,
Expand Down

0 comments on commit 691d99c

Please sign in to comment.