Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
6e62775e
L
linux
项目概览
xiphi1978
/
linux
通知
2
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,发现更多精彩内容 >>
提交
6e62775e
编写于
10月 04, 2008
作者:
A
Alexey Dobriyan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
proc: move /proc/execdomains to kernel/exec_domain.c
Signed-off-by:
N
Alexey Dobriyan
<
adobriyan@gmail.com
>
上级
cf9887f1
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
15 deletion
+27
-15
fs/proc/proc_misc.c
fs/proc/proc_misc.c
+0
-9
kernel/exec_domain.c
kernel/exec_domain.c
+27
-6
未找到文件。
fs/proc/proc_misc.c
浏览文件 @
6e62775e
...
...
@@ -63,7 +63,6 @@
* have a way to deal with that gracefully. Right now I used straightforward
* wrappers, but this needs further analysis wrt potential overflows.
*/
extern
int
get_exec_domain_list
(
char
*
);
static
int
proc_calc_metrics
(
char
*
page
,
char
**
start
,
off_t
off
,
int
count
,
int
*
eof
,
int
len
)
...
...
@@ -486,13 +485,6 @@ static const struct file_operations proc_locks_operations = {
};
#endif
/* CONFIG_FILE_LOCKING */
static
int
execdomains_read_proc
(
char
*
page
,
char
**
start
,
off_t
off
,
int
count
,
int
*
eof
,
void
*
data
)
{
int
len
=
get_exec_domain_list
(
page
);
return
proc_calc_metrics
(
page
,
start
,
off
,
count
,
eof
,
len
);
}
#ifdef CONFIG_PROC_PAGE_MONITOR
#define KPMSIZE sizeof(u64)
#define KPMMASK (KPMSIZE - 1)
...
...
@@ -632,7 +624,6 @@ void __init proc_misc_init(void)
char
*
name
;
int
(
*
read_proc
)(
char
*
,
char
**
,
off_t
,
int
,
int
*
,
void
*
);
}
*
p
,
simple_ones
[]
=
{
{
"execdomains"
,
execdomains_read_proc
},
{
NULL
,}
};
for
(
p
=
simple_ones
;
p
->
name
;
p
++
)
...
...
kernel/exec_domain.c
浏览文件 @
6e62775e
...
...
@@ -12,7 +12,9 @@
#include <linux/kmod.h>
#include <linux/module.h>
#include <linux/personality.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/syscalls.h>
#include <linux/sysctl.h>
#include <linux/types.h>
...
...
@@ -173,20 +175,39 @@ __set_personality(u_long personality)
return
0
;
}
int
get_exec_domain_list
(
char
*
page
)
#ifdef CONFIG_PROC_FS
static
int
execdomains_proc_show
(
struct
seq_file
*
m
,
void
*
v
)
{
struct
exec_domain
*
ep
;
int
len
=
0
;
read_lock
(
&
exec_domains_lock
);
for
(
ep
=
exec_domains
;
ep
&&
len
<
PAGE_SIZE
-
80
;
ep
=
ep
->
next
)
len
+=
sprintf
(
page
+
len
,
"%d-%d
\t
%-16s
\t
[%s]
\n
"
,
for
(
ep
=
exec_domains
;
ep
;
ep
=
ep
->
next
)
seq_printf
(
m
,
"%d-%d
\t
%-16s
\t
[%s]
\n
"
,
ep
->
pers_low
,
ep
->
pers_high
,
ep
->
name
,
module_name
(
ep
->
module
));
read_unlock
(
&
exec_domains_lock
);
return
(
len
);
return
0
;
}
static
int
execdomains_proc_open
(
struct
inode
*
inode
,
struct
file
*
file
)
{
return
single_open
(
file
,
execdomains_proc_show
,
NULL
);
}
static
const
struct
file_operations
execdomains_proc_fops
=
{
.
open
=
execdomains_proc_open
,
.
read
=
seq_read
,
.
llseek
=
seq_lseek
,
.
release
=
single_release
,
};
static
int
__init
proc_execdomains_init
(
void
)
{
proc_create
(
"execdomains"
,
0
,
NULL
,
&
execdomains_proc_fops
);
return
0
;
}
module_init
(
proc_execdomains_init
);
#endif
asmlinkage
long
sys_personality
(
u_long
personality
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录