Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
ae1251ab
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ae1251ab
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 03
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
dbf040d9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
9 deletion
+9
-9
kernel/sys.c
kernel/sys.c
+9
-9
未找到文件。
kernel/sys.c
浏览文件 @
ae1251ab
...
@@ -478,7 +478,7 @@ void ctrl_alt_del(void)
...
@@ -478,7 +478,7 @@ void ctrl_alt_del(void)
* SMP: There are not races, the GIDs are checked only by filesystem
* SMP: There are not races, the GIDs are checked only by filesystem
* operations (as far as semantic preservation is concerned).
* operations (as far as semantic preservation is concerned).
*/
*/
asmlinkage
long
sys_setregid
(
gid_t
rgid
,
gid_t
egid
)
SYSCALL_DEFINE2
(
setregid
,
gid_t
,
rgid
,
gid_t
,
egid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -529,7 +529,7 @@ asmlinkage long sys_setregid(gid_t rgid, gid_t egid)
...
@@ -529,7 +529,7 @@ asmlinkage long sys_setregid(gid_t rgid, gid_t egid)
*
*
* SMP: Same implicit races as above.
* SMP: Same implicit races as above.
*/
*/
asmlinkage
long
sys_setgid
(
gid_t
gid
)
SYSCALL_DEFINE1
(
setgid
,
gid_t
,
gid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -597,7 +597,7 @@ static int set_user(struct cred *new)
...
@@ -597,7 +597,7 @@ static int set_user(struct cred *new)
* 100% compatible with BSD. A program which uses just setuid() will be
* 100% compatible with BSD. A program which uses just setuid() will be
* 100% compatible with POSIX with saved IDs.
* 100% compatible with POSIX with saved IDs.
*/
*/
asmlinkage
long
sys_setreuid
(
uid_t
ruid
,
uid_t
euid
)
SYSCALL_DEFINE2
(
setreuid
,
uid_t
,
ruid
,
uid_t
,
euid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -661,7 +661,7 @@ asmlinkage long sys_setreuid(uid_t ruid, uid_t euid)
...
@@ -661,7 +661,7 @@ asmlinkage long sys_setreuid(uid_t ruid, uid_t euid)
* will allow a root program to temporarily drop privileges and be able to
* will allow a root program to temporarily drop privileges and be able to
* regain them by swapping the real and effective uid.
* regain them by swapping the real and effective uid.
*/
*/
asmlinkage
long
sys_setuid
(
uid_t
uid
)
SYSCALL_DEFINE1
(
setuid
,
uid_t
,
uid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -705,7 +705,7 @@ asmlinkage long sys_setuid(uid_t uid)
...
@@ -705,7 +705,7 @@ asmlinkage long sys_setuid(uid_t uid)
* This function implements a generic ability to update ruid, euid,
* This function implements a generic ability to update ruid, euid,
* and suid. This allows you to implement the 4.4 compatible seteuid().
* and suid. This allows you to implement the 4.4 compatible seteuid().
*/
*/
asmlinkage
long
sys_setresuid
(
uid_t
ruid
,
uid_t
euid
,
uid_t
suid
)
SYSCALL_DEFINE3
(
setresuid
,
uid_t
,
ruid
,
uid_t
,
euid
,
uid_t
,
suid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -771,7 +771,7 @@ SYSCALL_DEFINE3(getresuid, uid_t __user *, ruid, uid_t __user *, euid, uid_t __u
...
@@ -771,7 +771,7 @@ SYSCALL_DEFINE3(getresuid, uid_t __user *, ruid, uid_t __user *, euid, uid_t __u
/*
/*
* Same as above, but for rgid, egid, sgid.
* Same as above, but for rgid, egid, sgid.
*/
*/
asmlinkage
long
sys_setresgid
(
gid_t
rgid
,
gid_t
egid
,
gid_t
sgid
)
SYSCALL_DEFINE3
(
setresgid
,
gid_t
,
rgid
,
gid_t
,
egid
,
gid_t
,
sgid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -833,7 +833,7 @@ SYSCALL_DEFINE3(getresgid, gid_t __user *, rgid, gid_t __user *, egid, gid_t __u
...
@@ -833,7 +833,7 @@ SYSCALL_DEFINE3(getresgid, gid_t __user *, rgid, gid_t __user *, egid, gid_t __u
* whatever uid it wants to). It normally shadows "euid", except when
* whatever uid it wants to). It normally shadows "euid", except when
* explicitly set by setfsuid() or for access..
* explicitly set by setfsuid() or for access..
*/
*/
asmlinkage
long
sys_setfsuid
(
uid_t
uid
)
SYSCALL_DEFINE1
(
setfsuid
,
uid_t
,
uid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -870,7 +870,7 @@ asmlinkage long sys_setfsuid(uid_t uid)
...
@@ -870,7 +870,7 @@ asmlinkage long sys_setfsuid(uid_t uid)
/*
/*
* Samma på svenska..
* Samma på svenska..
*/
*/
asmlinkage
long
sys_setfsgid
(
gid_t
gid
)
SYSCALL_DEFINE1
(
setfsgid
,
gid_t
,
gid
)
{
{
const
struct
cred
*
old
;
const
struct
cred
*
old
;
struct
cred
*
new
;
struct
cred
*
new
;
...
@@ -1311,7 +1311,7 @@ int set_current_groups(struct group_info *group_info)
...
@@ -1311,7 +1311,7 @@ int set_current_groups(struct group_info *group_info)
EXPORT_SYMBOL
(
set_current_groups
);
EXPORT_SYMBOL
(
set_current_groups
);
asmlinkage
long
sys_getgroups
(
int
gidsetsize
,
gid_t
__user
*
grouplist
)
SYSCALL_DEFINE2
(
getgroups
,
int
,
gidsetsize
,
gid_t
__user
*
,
grouplist
)
{
{
const
struct
cred
*
cred
=
current_cred
();
const
struct
cred
*
cred
=
current_cred
();
int
i
;
int
i
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录