#include <linux/mm.h>
#include <linux/mman.h>
#include <linux/notifier.h>
#include <linux/reboot.h>
#include <linux/prctl.h>
#include <linux/capability.h>
#include <linux/init.h>
#include <linux/highuid.h>
#include <linux/security.h>
#include <linux/cred.h>
#include <linux/syscalls.h>
#include <linux/uaccess.h>
#include "uid16.h"
SYSCALL_DEFINE3(chown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
{ … }
SYSCALL_DEFINE3(lchown16, const char __user *, filename, old_uid_t, user, old_gid_t, group)
{ … }
SYSCALL_DEFINE3(fchown16, unsigned int, fd, old_uid_t, user, old_gid_t, group)
{ … }
SYSCALL_DEFINE2(setregid16, old_gid_t, rgid, old_gid_t, egid)
{ … }
SYSCALL_DEFINE1(setgid16, old_gid_t, gid)
{ … }
SYSCALL_DEFINE2(setreuid16, old_uid_t, ruid, old_uid_t, euid)
{ … }
SYSCALL_DEFINE1(setuid16, old_uid_t, uid)
{ … }
SYSCALL_DEFINE3(setresuid16, old_uid_t, ruid, old_uid_t, euid, old_uid_t, suid)
{ … }
SYSCALL_DEFINE3(getresuid16, old_uid_t __user *, ruidp, old_uid_t __user *, euidp, old_uid_t __user *, suidp)
{ … }
SYSCALL_DEFINE3(setresgid16, old_gid_t, rgid, old_gid_t, egid, old_gid_t, sgid)
{ … }
SYSCALL_DEFINE3(getresgid16, old_gid_t __user *, rgidp, old_gid_t __user *, egidp, old_gid_t __user *, sgidp)
{ … }
SYSCALL_DEFINE1(setfsuid16, old_uid_t, uid)
{ … }
SYSCALL_DEFINE1(setfsgid16, old_gid_t, gid)
{ … }
static int groups16_to_user(old_gid_t __user *grouplist,
struct group_info *group_info)
{ … }
static int groups16_from_user(struct group_info *group_info,
old_gid_t __user *grouplist)
{ … }
SYSCALL_DEFINE2(getgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
{ … }
SYSCALL_DEFINE2(setgroups16, int, gidsetsize, old_gid_t __user *, grouplist)
{ … }
SYSCALL_DEFINE0(…)
{ …
SYSCALL_DEFINE0(…)
{ …
SYSCALL_DEFINE0(…)
{ …
SYSCALL_DEFINE0(…)
{ …