Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
ca6b0bf0
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看板
提交
ca6b0bf0
编写于
2月 15, 2011
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pagemap: close races with suid execve
just use mm_for_maps() Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
26ec3c64
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
4 addition
and
7 deletion
+4
-7
fs/proc/base.c
fs/proc/base.c
+2
-2
fs/proc/task_mmu.c
fs/proc/task_mmu.c
+2
-5
未找到文件。
fs/proc/base.c
浏览文件 @
ca6b0bf0
...
@@ -2797,7 +2797,7 @@ static const struct pid_entry tgid_base_stuff[] = {
...
@@ -2797,7 +2797,7 @@ static const struct pid_entry tgid_base_stuff[] = {
#ifdef CONFIG_PROC_PAGE_MONITOR
#ifdef CONFIG_PROC_PAGE_MONITOR
REG
(
"clear_refs"
,
S_IWUSR
,
proc_clear_refs_operations
),
REG
(
"clear_refs"
,
S_IWUSR
,
proc_clear_refs_operations
),
REG
(
"smaps"
,
S_IRUGO
,
proc_smaps_operations
),
REG
(
"smaps"
,
S_IRUGO
,
proc_smaps_operations
),
REG
(
"pagemap"
,
S_IRU
SR
,
proc_pagemap_operations
),
REG
(
"pagemap"
,
S_IRU
GO
,
proc_pagemap_operations
),
#endif
#endif
#ifdef CONFIG_SECURITY
#ifdef CONFIG_SECURITY
DIR
(
"attr"
,
S_IRUGO
|
S_IXUGO
,
proc_attr_dir_inode_operations
,
proc_attr_dir_operations
),
DIR
(
"attr"
,
S_IRUGO
|
S_IXUGO
,
proc_attr_dir_inode_operations
,
proc_attr_dir_operations
),
...
@@ -3133,7 +3133,7 @@ static const struct pid_entry tid_base_stuff[] = {
...
@@ -3133,7 +3133,7 @@ static const struct pid_entry tid_base_stuff[] = {
#ifdef CONFIG_PROC_PAGE_MONITOR
#ifdef CONFIG_PROC_PAGE_MONITOR
REG
(
"clear_refs"
,
S_IWUSR
,
proc_clear_refs_operations
),
REG
(
"clear_refs"
,
S_IWUSR
,
proc_clear_refs_operations
),
REG
(
"smaps"
,
S_IRUGO
,
proc_smaps_operations
),
REG
(
"smaps"
,
S_IRUGO
,
proc_smaps_operations
),
REG
(
"pagemap"
,
S_IRU
SR
,
proc_pagemap_operations
),
REG
(
"pagemap"
,
S_IRU
GO
,
proc_pagemap_operations
),
#endif
#endif
#ifdef CONFIG_SECURITY
#ifdef CONFIG_SECURITY
DIR
(
"attr"
,
S_IRUGO
|
S_IXUGO
,
proc_attr_dir_inode_operations
,
proc_attr_dir_operations
),
DIR
(
"attr"
,
S_IRUGO
|
S_IXUGO
,
proc_attr_dir_inode_operations
,
proc_attr_dir_operations
),
...
...
fs/proc/task_mmu.c
浏览文件 @
ca6b0bf0
...
@@ -729,7 +729,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
...
@@ -729,7 +729,8 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
goto
out
;
goto
out
;
ret
=
-
EACCES
;
ret
=
-
EACCES
;
if
(
!
ptrace_may_access
(
task
,
PTRACE_MODE_READ
))
mm
=
mm_for_maps
(
task
);
if
(
!
mm
)
goto
out_task
;
goto
out_task
;
ret
=
-
EINVAL
;
ret
=
-
EINVAL
;
...
@@ -742,10 +743,6 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
...
@@ -742,10 +743,6 @@ static ssize_t pagemap_read(struct file *file, char __user *buf,
if
(
!
count
)
if
(
!
count
)
goto
out_task
;
goto
out_task
;
mm
=
get_task_mm
(
task
);
if
(
!
mm
)
goto
out_task
;
pm
.
len
=
PM_ENTRY_BYTES
*
(
PAGEMAP_WALK_SIZE
>>
PAGE_SHIFT
);
pm
.
len
=
PM_ENTRY_BYTES
*
(
PAGEMAP_WALK_SIZE
>>
PAGE_SHIFT
);
pm
.
buffer
=
kmalloc
(
pm
.
len
,
GFP_TEMPORARY
);
pm
.
buffer
=
kmalloc
(
pm
.
len
,
GFP_TEMPORARY
);
ret
=
-
ENOMEM
;
ret
=
-
ENOMEM
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录