Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
e48fbb69
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e48fbb69
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 24
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
5a8a82b1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
12 deletion
+13
-12
ipc/msg.c
ipc/msg.c
+6
-6
kernel/sys.c
kernel/sys.c
+7
-6
未找到文件。
ipc/msg.c
浏览文件 @
e48fbb69
...
@@ -309,7 +309,7 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg)
...
@@ -309,7 +309,7 @@ static inline int msg_security(struct kern_ipc_perm *ipcp, int msgflg)
return
security_msg_queue_associate
(
msq
,
msgflg
);
return
security_msg_queue_associate
(
msq
,
msgflg
);
}
}
asmlinkage
long
sys_msgget
(
key_t
key
,
int
msgflg
)
SYSCALL_DEFINE2
(
msgget
,
key_t
,
key
,
int
,
msgflg
)
{
{
struct
ipc_namespace
*
ns
;
struct
ipc_namespace
*
ns
;
struct
ipc_ops
msg_ops
;
struct
ipc_ops
msg_ops
;
...
@@ -466,7 +466,7 @@ static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd,
...
@@ -466,7 +466,7 @@ static int msgctl_down(struct ipc_namespace *ns, int msqid, int cmd,
return
err
;
return
err
;
}
}
asmlinkage
long
sys_msgctl
(
int
msqid
,
int
cmd
,
struct
msqid_ds
__user
*
buf
)
SYSCALL_DEFINE3
(
msgctl
,
int
,
msqid
,
int
,
cmd
,
struct
msqid_ds
__user
*
,
buf
)
{
{
struct
msg_queue
*
msq
;
struct
msg_queue
*
msq
;
int
err
,
version
;
int
err
,
version
;
...
@@ -723,8 +723,8 @@ long do_msgsnd(int msqid, long mtype, void __user *mtext,
...
@@ -723,8 +723,8 @@ long do_msgsnd(int msqid, long mtype, void __user *mtext,
return
err
;
return
err
;
}
}
asmlinkage
long
SYSCALL_DEFINE4
(
msgsnd
,
int
,
msqid
,
struct
msgbuf
__user
*
,
msgp
,
size_t
,
msgsz
,
sys_msgsnd
(
int
msqid
,
struct
msgbuf
__user
*
msgp
,
size_t
msgsz
,
int
msgflg
)
int
,
msgflg
)
{
{
long
mtype
;
long
mtype
;
...
@@ -904,8 +904,8 @@ long do_msgrcv(int msqid, long *pmtype, void __user *mtext,
...
@@ -904,8 +904,8 @@ long do_msgrcv(int msqid, long *pmtype, void __user *mtext,
return
msgsz
;
return
msgsz
;
}
}
asmlinkage
long
sys_msgrcv
(
int
msqid
,
struct
msgbuf
__user
*
msgp
,
size_t
msgsz
,
SYSCALL_DEFINE5
(
msgrcv
,
int
,
msqid
,
struct
msgbuf
__user
*
,
msgp
,
size_t
,
msgsz
,
long
msgtyp
,
int
msgflg
)
long
,
msgtyp
,
int
,
msgflg
)
{
{
long
err
,
mtype
;
long
err
,
mtype
;
...
...
kernel/sys.c
浏览文件 @
e48fbb69
...
@@ -1395,7 +1395,7 @@ EXPORT_SYMBOL(in_egroup_p);
...
@@ -1395,7 +1395,7 @@ EXPORT_SYMBOL(in_egroup_p);
DECLARE_RWSEM
(
uts_sem
);
DECLARE_RWSEM
(
uts_sem
);
asmlinkage
long
sys_newuname
(
struct
new_utsname
__user
*
name
)
SYSCALL_DEFINE1
(
newuname
,
struct
new_utsname
__user
*
,
name
)
{
{
int
errno
=
0
;
int
errno
=
0
;
...
@@ -1478,7 +1478,7 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
...
@@ -1478,7 +1478,7 @@ SYSCALL_DEFINE2(setdomainname, char __user *, name, int, len)
return
errno
;
return
errno
;
}
}
asmlinkage
long
sys_getrlimit
(
unsigned
int
resource
,
struct
rlimit
__user
*
rlim
)
SYSCALL_DEFINE2
(
getrlimit
,
unsigned
int
,
resource
,
struct
rlimit
__user
*
,
rlim
)
{
{
if
(
resource
>=
RLIM_NLIMITS
)
if
(
resource
>=
RLIM_NLIMITS
)
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -1497,7 +1497,8 @@ asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
...
@@ -1497,7 +1497,8 @@ asmlinkage long sys_getrlimit(unsigned int resource, struct rlimit __user *rlim)
* Back compatibility for getrlimit. Needed for some apps.
* Back compatibility for getrlimit. Needed for some apps.
*/
*/
asmlinkage
long
sys_old_getrlimit
(
unsigned
int
resource
,
struct
rlimit
__user
*
rlim
)
SYSCALL_DEFINE2
(
old_getrlimit
,
unsigned
int
,
resource
,
struct
rlimit
__user
*
,
rlim
)
{
{
struct
rlimit
x
;
struct
rlimit
x
;
if
(
resource
>=
RLIM_NLIMITS
)
if
(
resource
>=
RLIM_NLIMITS
)
...
@@ -1515,7 +1516,7 @@ asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *r
...
@@ -1515,7 +1516,7 @@ asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *r
#endif
#endif
asmlinkage
long
sys_setrlimit
(
unsigned
int
resource
,
struct
rlimit
__user
*
rlim
)
SYSCALL_DEFINE2
(
setrlimit
,
unsigned
int
,
resource
,
struct
rlimit
__user
*
,
rlim
)
{
{
struct
rlimit
new_rlim
,
*
old_rlim
;
struct
rlimit
new_rlim
,
*
old_rlim
;
int
retval
;
int
retval
;
...
@@ -1688,7 +1689,7 @@ int getrusage(struct task_struct *p, int who, struct rusage __user *ru)
...
@@ -1688,7 +1689,7 @@ int getrusage(struct task_struct *p, int who, struct rusage __user *ru)
return
copy_to_user
(
ru
,
&
r
,
sizeof
(
r
))
?
-
EFAULT
:
0
;
return
copy_to_user
(
ru
,
&
r
,
sizeof
(
r
))
?
-
EFAULT
:
0
;
}
}
asmlinkage
long
sys_getrusage
(
int
who
,
struct
rusage
__user
*
ru
)
SYSCALL_DEFINE2
(
getrusage
,
int
,
who
,
struct
rusage
__user
*
,
ru
)
{
{
if
(
who
!=
RUSAGE_SELF
&&
who
!=
RUSAGE_CHILDREN
&&
if
(
who
!=
RUSAGE_SELF
&&
who
!=
RUSAGE_CHILDREN
&&
who
!=
RUSAGE_THREAD
)
who
!=
RUSAGE_THREAD
)
...
@@ -1696,7 +1697,7 @@ asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
...
@@ -1696,7 +1697,7 @@ asmlinkage long sys_getrusage(int who, struct rusage __user *ru)
return
getrusage
(
current
,
who
,
ru
);
return
getrusage
(
current
,
who
,
ru
);
}
}
asmlinkage
long
sys_umask
(
int
mask
)
SYSCALL_DEFINE1
(
umask
,
int
,
mask
)
{
{
mask
=
xchg
(
&
current
->
fs
->
umask
,
mask
&
S_IRWXUGO
);
mask
=
xchg
(
&
current
->
fs
->
umask
,
mask
&
S_IRWXUGO
);
return
mask
;
return
mask
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录