Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Linux-御风守护者
linux
提交
17da2bd9
L
linux
项目概览
Linux-御风守护者
/
linux
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
17da2bd9
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 08
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
754fe8d2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
19 addition
and
26 deletion
+19
-26
kernel/exit.c
kernel/exit.c
+3
-4
kernel/fork.c
kernel/fork.c
+1
-1
kernel/futex.c
kernel/futex.c
+3
-3
kernel/module.c
kernel/module.c
+4
-6
kernel/sched.c
kernel/sched.c
+1
-1
kernel/signal.c
kernel/signal.c
+7
-11
未找到文件。
kernel/exit.c
浏览文件 @
17da2bd9
...
...
@@ -1754,9 +1754,8 @@ static long do_wait(enum pid_type type, struct pid *pid, int options,
return
retval
;
}
asmlinkage
long
sys_waitid
(
int
which
,
pid_t
upid
,
struct
siginfo
__user
*
infop
,
int
options
,
struct
rusage
__user
*
ru
)
SYSCALL_DEFINE5
(
waitid
,
int
,
which
,
pid_t
,
upid
,
struct
siginfo
__user
*
,
infop
,
int
,
options
,
struct
rusage
__user
*
,
ru
)
{
struct
pid
*
pid
=
NULL
;
enum
pid_type
type
;
...
...
@@ -1833,7 +1832,7 @@ SYSCALL_DEFINE4(wait4, pid_t, upid, int __user *, stat_addr,
* sys_waitpid() remains for compatibility. waitpid() should be
* implemented by calling sys_wait4() from libc.a.
*/
asmlinkage
long
sys_waitpid
(
pid_t
pid
,
int
__user
*
stat_addr
,
int
options
)
SYSCALL_DEFINE3
(
waitpid
,
pid_t
,
pid
,
int
__user
*
,
stat_addr
,
int
,
options
)
{
return
sys_wait4
(
pid
,
stat_addr
,
options
,
NULL
);
}
...
...
kernel/fork.c
浏览文件 @
17da2bd9
...
...
@@ -901,7 +901,7 @@ static void copy_flags(unsigned long clone_flags, struct task_struct *p)
clear_freeze_flag
(
p
);
}
asmlinkage
long
sys_set_tid_address
(
int
__user
*
tidptr
)
SYSCALL_DEFINE1
(
set_tid_address
,
int
__user
*
,
tidptr
)
{
current
->
clear_child_tid
=
tidptr
;
...
...
kernel/futex.c
浏览文件 @
17da2bd9
...
...
@@ -1978,9 +1978,9 @@ long do_futex(u32 __user *uaddr, int op, u32 val, ktime_t *timeout,
}
asmlinkage
long
sys_futex
(
u32
__user
*
uaddr
,
int
op
,
u32
val
,
struct
timespec
__user
*
utime
,
u32
__user
*
uaddr2
,
u32
val3
)
SYSCALL_DEFINE6
(
futex
,
u32
__user
*
,
uaddr
,
int
,
op
,
u32
,
val
,
struct
timespec
__user
*
,
utime
,
u32
__user
*
,
uaddr2
,
u32
,
val3
)
{
struct
timespec
ts
;
ktime_t
t
,
*
tp
=
NULL
;
...
...
kernel/module.c
浏览文件 @
17da2bd9
...
...
@@ -743,8 +743,8 @@ static void wait_for_zero_refcount(struct module *mod)
mutex_lock
(
&
module_mutex
);
}
asmlinkage
long
sys_delete_module
(
const
char
__user
*
name_user
,
unsigned
int
flags
)
SYSCALL_DEFINE2
(
delete_module
,
const
char
__user
*
,
name_user
,
unsigned
int
,
flags
)
{
struct
module
*
mod
;
char
name
[
MODULE_NAME_LEN
];
...
...
@@ -2296,10 +2296,8 @@ static noinline struct module *load_module(void __user *umod,
}
/* This is where the real work happens */
asmlinkage
long
sys_init_module
(
void
__user
*
umod
,
unsigned
long
len
,
const
char
__user
*
uargs
)
SYSCALL_DEFINE3
(
init_module
,
void
__user
*
,
umod
,
unsigned
long
,
len
,
const
char
__user
*
,
uargs
)
{
struct
module
*
mod
;
int
ret
=
0
;
...
...
kernel/sched.c
浏览文件 @
17da2bd9
...
...
@@ -5869,7 +5869,7 @@ SYSCALL_DEFINE1(sched_get_priority_min, int, policy)
* this syscall writes the default timeslice value of a given process
* into the user-space timespec buffer. A value of '0' means infinity.
*/
SYSCALL_DEFINE
4
(
sched_rr_get_interval
,
pid_t
,
pid
,
SYSCALL_DEFINE
2
(
sched_rr_get_interval
,
pid_t
,
pid
,
struct
timespec
__user
*
,
interval
)
{
struct
task_struct
*
p
;
...
...
kernel/signal.c
浏览文件 @
17da2bd9
...
...
@@ -2014,8 +2014,8 @@ int sigprocmask(int how, sigset_t *set, sigset_t *oldset)
return
error
;
}
asmlinkage
long
sys_rt_sigprocmask
(
int
how
,
sigset_t
__user
*
set
,
sigset_t
__user
*
oset
,
size_t
sigsetsize
)
SYSCALL_DEFINE4
(
rt_sigprocmask
,
int
,
how
,
sigset_t
__user
*
,
set
,
sigset_t
__user
*
,
oset
,
size_t
,
sigsetsize
)
{
int
error
=
-
EINVAL
;
sigset_t
old_set
,
new_set
;
...
...
@@ -2074,8 +2074,7 @@ long do_sigpending(void __user *set, unsigned long sigsetsize)
return
error
;
}
asmlinkage
long
sys_rt_sigpending
(
sigset_t
__user
*
set
,
size_t
sigsetsize
)
SYSCALL_DEFINE2
(
rt_sigpending
,
sigset_t
__user
*
,
set
,
size_t
,
sigsetsize
)
{
return
do_sigpending
(
set
,
sigsetsize
);
}
...
...
@@ -2146,11 +2145,9 @@ int copy_siginfo_to_user(siginfo_t __user *to, siginfo_t *from)
#endif
asmlinkage
long
sys_rt_sigtimedwait
(
const
sigset_t
__user
*
uthese
,
siginfo_t
__user
*
uinfo
,
const
struct
timespec
__user
*
uts
,
size_t
sigsetsize
)
SYSCALL_DEFINE4
(
rt_sigtimedwait
,
const
sigset_t
__user
*
,
uthese
,
siginfo_t
__user
*
,
uinfo
,
const
struct
timespec
__user
*
,
uts
,
size_t
,
sigsetsize
)
{
int
ret
,
sig
;
sigset_t
these
;
...
...
@@ -2223,8 +2220,7 @@ sys_rt_sigtimedwait(const sigset_t __user *uthese,
return
ret
;
}
asmlinkage
long
sys_kill
(
pid_t
pid
,
int
sig
)
SYSCALL_DEFINE2
(
kill
,
pid_t
,
pid
,
int
,
sig
)
{
struct
siginfo
info
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录