Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
XianxinMao
Linux
提交
d4e82042
L
Linux
项目概览
XianxinMao
/
Linux
12 个月 前同步成功
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d4e82042
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 32
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
836f92ad
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
24 addition
and
17 deletion
+24
-17
fs/eventfd.c
fs/eventfd.c
+2
-3
fs/pipe.c
fs/pipe.c
+1
-1
fs/readdir.c
fs/readdir.c
+2
-1
fs/select.c
fs/select.c
+6
-5
fs/timerfd.c
fs/timerfd.c
+1
-1
include/linux/syscalls.h
include/linux/syscalls.h
+7
-0
kernel/signal.c
kernel/signal.c
+5
-6
未找到文件。
fs/eventfd.c
浏览文件 @
d4e82042
...
...
@@ -198,7 +198,7 @@ struct file *eventfd_fget(int fd)
return
file
;
}
asmlinkage
long
sys_eventfd2
(
unsigned
int
count
,
int
flags
)
SYSCALL_DEFINE2
(
eventfd2
,
unsigned
int
,
count
,
int
,
flags
)
{
int
fd
;
struct
eventfd_ctx
*
ctx
;
...
...
@@ -228,8 +228,7 @@ asmlinkage long sys_eventfd2(unsigned int count, int flags)
return
fd
;
}
asmlinkage
long
sys_eventfd
(
unsigned
int
count
)
SYSCALL_DEFINE1
(
eventfd
,
unsigned
int
,
count
)
{
return
sys_eventfd2
(
count
,
0
);
}
fs/pipe.c
浏览文件 @
d4e82042
...
...
@@ -1043,7 +1043,7 @@ int do_pipe(int *fd)
* sys_pipe() is the normal C calling standard for creating
* a pipe. It's not the way Unix traditionally does this, though.
*/
asmlinkage
long
sys_pipe2
(
int
__user
*
fildes
,
int
flags
)
SYSCALL_DEFINE2
(
pipe2
,
int
__user
*
,
fildes
,
int
,
flags
)
{
int
fd
[
2
];
int
error
;
...
...
fs/readdir.c
浏览文件 @
d4e82042
...
...
@@ -102,7 +102,8 @@ static int fillonedir(void * __buf, const char * name, int namlen, loff_t offset
return
-
EFAULT
;
}
asmlinkage
long
sys_old_readdir
(
unsigned
int
fd
,
struct
old_linux_dirent
__user
*
dirent
,
unsigned
int
count
)
SYSCALL_DEFINE3
(
old_readdir
,
unsigned
int
,
fd
,
struct
old_linux_dirent
__user
*
,
dirent
,
unsigned
int
,
count
)
{
int
error
;
struct
file
*
file
;
...
...
fs/select.c
浏览文件 @
d4e82042
...
...
@@ -636,8 +636,9 @@ static long do_pselect(int n, fd_set __user *inp, fd_set __user *outp,
* which has a pointer to the sigset_t itself followed by a size_t containing
* the sigset size.
*/
asmlinkage
long
sys_pselect6
(
int
n
,
fd_set
__user
*
inp
,
fd_set
__user
*
outp
,
fd_set
__user
*
exp
,
struct
timespec
__user
*
tsp
,
void
__user
*
sig
)
SYSCALL_DEFINE6
(
pselect6
,
int
,
n
,
fd_set
__user
*
,
inp
,
fd_set
__user
*
,
outp
,
fd_set
__user
*
,
exp
,
struct
timespec
__user
*
,
tsp
,
void
__user
*
,
sig
)
{
size_t
sigsetsize
=
0
;
sigset_t
__user
*
up
=
NULL
;
...
...
@@ -889,9 +890,9 @@ SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
}
#ifdef HAVE_SET_RESTORE_SIGMASK
asmlinkage
long
sys_ppoll
(
struct
pollfd
__user
*
ufds
,
unsigned
int
nfds
,
struct
timespec
__user
*
tsp
,
const
sigset_t
__user
*
sigmask
,
size_t
sigsetsize
)
SYSCALL_DEFINE5
(
ppoll
,
struct
pollfd
__user
*
,
ufds
,
unsigned
int
,
nfds
,
struct
timespec
__user
*
,
tsp
,
const
sigset_t
__user
*
,
sigmask
,
size_t
,
sigsetsize
)
{
sigset_t
ksigmask
,
sigsaved
;
struct
timespec
ts
,
end_time
,
*
to
=
NULL
;
...
...
fs/timerfd.c
浏览文件 @
d4e82042
...
...
@@ -265,7 +265,7 @@ SYSCALL_DEFINE4(timerfd_settime, int, ufd, int, flags,
return
0
;
}
asmlinkage
long
sys_timerfd_gettime
(
int
ufd
,
struct
itimerspec
__user
*
otmr
)
SYSCALL_DEFINE2
(
timerfd_gettime
,
int
,
ufd
,
struct
itimerspec
__user
*
,
otmr
)
{
struct
file
*
file
;
struct
timerfd_ctx
*
ctx
;
...
...
include/linux/syscalls.h
浏览文件 @
d4e82042
...
...
@@ -678,6 +678,13 @@ asmlinkage long sys_eventfd(unsigned int count);
asmlinkage
long
sys_eventfd2
(
unsigned
int
count
,
int
flags
);
asmlinkage
long
sys_fallocate
(
int
fd
,
int
mode
,
loff_t
offset
,
loff_t
len
);
asmlinkage
long
sys_old_readdir
(
unsigned
int
,
struct
old_linux_dirent
__user
*
,
unsigned
int
);
asmlinkage
long
sys_pselect6
(
int
,
fd_set
__user
*
,
fd_set
__user
*
,
fd_set
__user
*
,
struct
timespec
__user
*
,
void
__user
*
);
asmlinkage
long
sys_ppoll
(
struct
pollfd
__user
*
,
unsigned
int
,
struct
timespec
__user
*
,
const
sigset_t
__user
*
,
size_t
);
asmlinkage
long
sys_pipe2
(
int
__user
*
,
int
);
int
kernel_execve
(
const
char
*
filename
,
char
*
const
argv
[],
char
*
const
envp
[]);
...
...
kernel/signal.c
浏览文件 @
d4e82042
...
...
@@ -2491,11 +2491,10 @@ SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set,
#endif
/* __ARCH_WANT_SYS_SIGPROCMASK */
#ifdef __ARCH_WANT_SYS_RT_SIGACTION
asmlinkage
long
sys_rt_sigaction
(
int
sig
,
const
struct
sigaction
__user
*
act
,
struct
sigaction
__user
*
oact
,
size_t
sigsetsize
)
SYSCALL_DEFINE4
(
rt_sigaction
,
int
,
sig
,
const
struct
sigaction
__user
*
,
act
,
struct
sigaction
__user
*
,
oact
,
size_t
,
sigsetsize
)
{
struct
k_sigaction
new_sa
,
old_sa
;
int
ret
=
-
EINVAL
;
...
...
@@ -2578,7 +2577,7 @@ SYSCALL_DEFINE0(pause)
#endif
#ifdef __ARCH_WANT_SYS_RT_SIGSUSPEND
asmlinkage
long
sys_rt_sigsuspend
(
sigset_t
__user
*
unewset
,
size_t
sigsetsize
)
SYSCALL_DEFINE2
(
rt_sigsuspend
,
sigset_t
__user
*
,
unewset
,
size_t
,
sigsetsize
)
{
sigset_t
newset
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录