Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
ca013e94
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ca013e94
编写于
1月 14, 2009
作者:
H
Heiko Carstens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[CVE-2009-0029] System call wrappers part 17
Signed-off-by:
N
Heiko Carstens
<
heiko.carstens@de.ibm.com
>
上级
002c8976
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
12 deletion
+10
-12
fs/open.c
fs/open.c
+7
-9
kernel/uid16.c
kernel/uid16.c
+3
-3
未找到文件。
fs/open.c
浏览文件 @
ca013e94
...
@@ -517,7 +517,7 @@ asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode)
...
@@ -517,7 +517,7 @@ asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode)
return
res
;
return
res
;
}
}
asmlinkage
long
sys_access
(
const
char
__user
*
filename
,
int
mode
)
SYSCALL_DEFINE2
(
access
,
const
char
__user
*
,
filename
,
int
,
mode
)
{
{
return
sys_faccessat
(
AT_FDCWD
,
filename
,
mode
);
return
sys_faccessat
(
AT_FDCWD
,
filename
,
mode
);
}
}
...
@@ -688,7 +688,7 @@ static int chown_common(struct dentry * dentry, uid_t user, gid_t group)
...
@@ -688,7 +688,7 @@ static int chown_common(struct dentry * dentry, uid_t user, gid_t group)
return
error
;
return
error
;
}
}
asmlinkage
long
sys_chown
(
const
char
__user
*
filename
,
uid_t
user
,
gid_t
group
)
SYSCALL_DEFINE3
(
chown
,
const
char
__user
*
,
filename
,
uid_t
,
user
,
gid_t
,
group
)
{
{
struct
path
path
;
struct
path
path
;
int
error
;
int
error
;
...
@@ -732,7 +732,7 @@ asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
...
@@ -732,7 +732,7 @@ asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
return
error
;
return
error
;
}
}
asmlinkage
long
sys_lchown
(
const
char
__user
*
filename
,
uid_t
user
,
gid_t
group
)
SYSCALL_DEFINE3
(
lchown
,
const
char
__user
*
,
filename
,
uid_t
,
user
,
gid_t
,
group
)
{
{
struct
path
path
;
struct
path
path
;
int
error
;
int
error
;
...
@@ -751,8 +751,7 @@ asmlinkage long sys_lchown(const char __user * filename, uid_t user, gid_t group
...
@@ -751,8 +751,7 @@ asmlinkage long sys_lchown(const char __user * filename, uid_t user, gid_t group
return
error
;
return
error
;
}
}
SYSCALL_DEFINE3
(
fchown
,
unsigned
int
,
fd
,
uid_t
,
user
,
gid_t
,
group
)
asmlinkage
long
sys_fchown
(
unsigned
int
fd
,
uid_t
user
,
gid_t
group
)
{
{
struct
file
*
file
;
struct
file
*
file
;
int
error
=
-
EBADF
;
int
error
=
-
EBADF
;
...
@@ -1048,7 +1047,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
...
@@ -1048,7 +1047,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
return
fd
;
return
fd
;
}
}
asmlinkage
long
sys_open
(
const
char
__user
*
filename
,
int
flags
,
int
mode
)
SYSCALL_DEFINE3
(
open
,
const
char
__user
*
,
filename
,
int
,
flags
,
int
,
mode
)
{
{
long
ret
;
long
ret
;
...
@@ -1117,7 +1116,7 @@ EXPORT_SYMBOL(filp_close);
...
@@ -1117,7 +1116,7 @@ EXPORT_SYMBOL(filp_close);
* releasing the fd. This ensures that one clone task can't release
* releasing the fd. This ensures that one clone task can't release
* an fd while another clone is opening it.
* an fd while another clone is opening it.
*/
*/
asmlinkage
long
sys_close
(
unsigned
int
fd
)
SYSCALL_DEFINE1
(
close
,
unsigned
int
,
fd
)
{
{
struct
file
*
filp
;
struct
file
*
filp
;
struct
files_struct
*
files
=
current
->
files
;
struct
files_struct
*
files
=
current
->
files
;
...
@@ -1150,14 +1149,13 @@ asmlinkage long sys_close(unsigned int fd)
...
@@ -1150,14 +1149,13 @@ asmlinkage long sys_close(unsigned int fd)
spin_unlock
(
&
files
->
file_lock
);
spin_unlock
(
&
files
->
file_lock
);
return
-
EBADF
;
return
-
EBADF
;
}
}
EXPORT_SYMBOL
(
sys_close
);
EXPORT_SYMBOL
(
sys_close
);
/*
/*
* This routine simulates a hangup on the tty, to arrange that users
* This routine simulates a hangup on the tty, to arrange that users
* are given clean terminals at login time.
* are given clean terminals at login time.
*/
*/
asmlinkage
long
sys_vhangup
(
void
)
SYSCALL_DEFINE0
(
vhangup
)
{
{
if
(
capable
(
CAP_SYS_TTY_CONFIG
))
{
if
(
capable
(
CAP_SYS_TTY_CONFIG
))
{
tty_vhangup_self
();
tty_vhangup_self
();
...
...
kernel/uid16.c
浏览文件 @
ca013e94
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
#include <asm/uaccess.h>
#include <asm/uaccess.h>
asmlinkage
long
sys_chown16
(
const
char
__user
*
filename
,
old_uid_t
user
,
old_gid_t
group
)
SYSCALL_DEFINE3
(
chown16
,
const
char
__user
*
,
filename
,
old_uid_t
,
user
,
old_gid_t
,
group
)
{
{
long
ret
=
sys_chown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
long
ret
=
sys_chown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
/* avoid REGPARM breakage on x86: */
/* avoid REGPARM breakage on x86: */
...
@@ -25,7 +25,7 @@ asmlinkage long sys_chown16(const char __user * filename, old_uid_t user, old_gi
...
@@ -25,7 +25,7 @@ asmlinkage long sys_chown16(const char __user * filename, old_uid_t user, old_gi
return
ret
;
return
ret
;
}
}
asmlinkage
long
sys_lchown16
(
const
char
__user
*
filename
,
old_uid_t
user
,
old_gid_t
group
)
SYSCALL_DEFINE3
(
lchown16
,
const
char
__user
*
,
filename
,
old_uid_t
,
user
,
old_gid_t
,
group
)
{
{
long
ret
=
sys_lchown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
long
ret
=
sys_lchown
(
filename
,
low2highuid
(
user
),
low2highgid
(
group
));
/* avoid REGPARM breakage on x86: */
/* avoid REGPARM breakage on x86: */
...
@@ -33,7 +33,7 @@ asmlinkage long sys_lchown16(const char __user * filename, old_uid_t user, old_g
...
@@ -33,7 +33,7 @@ asmlinkage long sys_lchown16(const char __user * filename, old_uid_t user, old_g
return
ret
;
return
ret
;
}
}
asmlinkage
long
sys_fchown16
(
unsigned
int
fd
,
old_uid_t
user
,
old_gid_t
group
)
SYSCALL_DEFINE3
(
fchown16
,
unsigned
int
,
fd
,
old_uid_t
,
user
,
old_gid_t
,
group
)
{
{
long
ret
=
sys_fchown
(
fd
,
low2highuid
(
user
),
low2highgid
(
group
));
long
ret
=
sys_fchown
(
fd
,
low2highuid
(
user
),
low2highgid
(
group
));
/* avoid REGPARM breakage on x86: */
/* avoid REGPARM breakage on x86: */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录