Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Linux-御风守护者
linux
提交
d5460c99
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,发现更多精彩内容 >>
提交
d5460c99
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 25
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
e48fbb69
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
12 addition
and
11 deletion
+12
-11
ipc/mqueue.c
ipc/mqueue.c
+3
-3
ipc/sem.c
ipc/sem.c
+5
-4
ipc/shm.c
ipc/shm.c
+4
-4
未找到文件。
ipc/mqueue.c
浏览文件 @
d5460c99
...
@@ -650,8 +650,8 @@ static struct file *do_open(struct dentry *dentry, int oflag)
...
@@ -650,8 +650,8 @@ static struct file *do_open(struct dentry *dentry, int oflag)
return
dentry_open
(
dentry
,
mqueue_mnt
,
oflag
,
cred
);
return
dentry_open
(
dentry
,
mqueue_mnt
,
oflag
,
cred
);
}
}
asmlinkage
long
sys_mq_open
(
const
char
__user
*
u_name
,
int
oflag
,
mode_t
mode
,
SYSCALL_DEFINE4
(
mq_open
,
const
char
__user
*
,
u_name
,
int
,
oflag
,
mode_t
,
mode
,
struct
mq_attr
__user
*
u_attr
)
struct
mq_attr
__user
*
,
u_attr
)
{
{
struct
dentry
*
dentry
;
struct
dentry
*
dentry
;
struct
file
*
filp
;
struct
file
*
filp
;
...
@@ -721,7 +721,7 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
...
@@ -721,7 +721,7 @@ asmlinkage long sys_mq_open(const char __user *u_name, int oflag, mode_t mode,
return
fd
;
return
fd
;
}
}
asmlinkage
long
sys_mq_unlink
(
const
char
__user
*
u_name
)
SYSCALL_DEFINE1
(
mq_unlink
,
const
char
__user
*
,
u_name
)
{
{
int
err
;
int
err
;
char
*
name
;
char
*
name
;
...
...
ipc/sem.c
浏览文件 @
d5460c99
...
@@ -308,7 +308,7 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp,
...
@@ -308,7 +308,7 @@ static inline int sem_more_checks(struct kern_ipc_perm *ipcp,
return
0
;
return
0
;
}
}
asmlinkage
long
sys_semget
(
key_t
key
,
int
nsems
,
int
semflg
)
SYSCALL_DEFINE3
(
semget
,
key_t
,
key
,
int
,
nsems
,
int
,
semflg
)
{
{
struct
ipc_namespace
*
ns
;
struct
ipc_namespace
*
ns
;
struct
ipc_ops
sem_ops
;
struct
ipc_ops
sem_ops
;
...
@@ -1055,8 +1055,8 @@ static struct sem_undo *find_alloc_undo(struct ipc_namespace *ns, int semid)
...
@@ -1055,8 +1055,8 @@ static struct sem_undo *find_alloc_undo(struct ipc_namespace *ns, int semid)
return
un
;
return
un
;
}
}
asmlinkage
long
sys_semtimedop
(
int
semid
,
struct
sembuf
__user
*
tsops
,
SYSCALL_DEFINE4
(
semtimedop
,
int
,
semid
,
struct
sembuf
__user
*
,
tsops
,
unsigned
nsops
,
const
struct
timespec
__user
*
timeout
)
unsigned
,
nsops
,
const
struct
timespec
__user
*
,
timeout
)
{
{
int
error
=
-
EINVAL
;
int
error
=
-
EINVAL
;
struct
sem_array
*
sma
;
struct
sem_array
*
sma
;
...
@@ -1232,7 +1232,8 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops,
...
@@ -1232,7 +1232,8 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops,
return
error
;
return
error
;
}
}
asmlinkage
long
sys_semop
(
int
semid
,
struct
sembuf
__user
*
tsops
,
unsigned
nsops
)
SYSCALL_DEFINE3
(
semop
,
int
,
semid
,
struct
sembuf
__user
*
,
tsops
,
unsigned
,
nsops
)
{
{
return
sys_semtimedop
(
semid
,
tsops
,
nsops
,
NULL
);
return
sys_semtimedop
(
semid
,
tsops
,
nsops
,
NULL
);
}
}
...
...
ipc/shm.c
浏览文件 @
d5460c99
...
@@ -440,7 +440,7 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp,
...
@@ -440,7 +440,7 @@ static inline int shm_more_checks(struct kern_ipc_perm *ipcp,
return
0
;
return
0
;
}
}
asmlinkage
long
sys_shmget
(
key_t
key
,
size_t
size
,
int
shmflg
)
SYSCALL_DEFINE3
(
shmget
,
key_t
,
key
,
size_t
,
size
,
int
,
shmflg
)
{
{
struct
ipc_namespace
*
ns
;
struct
ipc_namespace
*
ns
;
struct
ipc_ops
shm_ops
;
struct
ipc_ops
shm_ops
;
...
@@ -621,7 +621,7 @@ static int shmctl_down(struct ipc_namespace *ns, int shmid, int cmd,
...
@@ -621,7 +621,7 @@ static int shmctl_down(struct ipc_namespace *ns, int shmid, int cmd,
return
err
;
return
err
;
}
}
asmlinkage
long
sys_shmctl
(
int
shmid
,
int
cmd
,
struct
shmid_ds
__user
*
buf
)
SYSCALL_DEFINE3
(
shmctl
,
int
,
shmid
,
int
,
cmd
,
struct
shmid_ds
__user
*
,
buf
)
{
{
struct
shmid_kernel
*
shp
;
struct
shmid_kernel
*
shp
;
int
err
,
version
;
int
err
,
version
;
...
@@ -939,7 +939,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
...
@@ -939,7 +939,7 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr)
goto
out_nattch
;
goto
out_nattch
;
}
}
asmlinkage
long
sys_shmat
(
int
shmid
,
char
__user
*
shmaddr
,
int
shmflg
)
SYSCALL_DEFINE3
(
shmat
,
int
,
shmid
,
char
__user
*
,
shmaddr
,
int
,
shmflg
)
{
{
unsigned
long
ret
;
unsigned
long
ret
;
long
err
;
long
err
;
...
@@ -955,7 +955,7 @@ asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg)
...
@@ -955,7 +955,7 @@ asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg)
* detach and kill segment if marked destroyed.
* detach and kill segment if marked destroyed.
* The work is done in shm_close.
* The work is done in shm_close.
*/
*/
asmlinkage
long
sys_shmdt
(
char
__user
*
shmaddr
)
SYSCALL_DEFINE1
(
shmdt
,
char
__user
*
,
shmaddr
)
{
{
struct
mm_struct
*
mm
=
current
->
mm
;
struct
mm_struct
*
mm
=
current
->
mm
;
struct
vm_area_struct
*
vma
,
*
next
;
struct
vm_area_struct
*
vma
,
*
next
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录