Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
7f1f311a
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
7f1f311a
编写于
10月 04, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
parisc: switch to generic sys_execve()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
4e5ed85a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
2 addition
and
92 deletion
+2
-92
arch/parisc/include/asm/unistd.h
arch/parisc/include/asm/unistd.h
+1
-0
arch/parisc/kernel/entry.S
arch/parisc/kernel/entry.S
+0
-46
arch/parisc/kernel/process.c
arch/parisc/kernel/process.c
+0
-23
arch/parisc/kernel/sys_parisc32.c
arch/parisc/kernel/sys_parisc32.c
+0
-22
arch/parisc/kernel/syscall_table.S
arch/parisc/kernel/syscall_table.S
+1
-1
未找到文件。
arch/parisc/include/asm/unistd.h
浏览文件 @
7f1f311a
...
...
@@ -996,6 +996,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_KERNEL_EXECVE
#define __ARCH_WANT_SYS_EXECVE
#endif
/* __ASSEMBLY__ */
...
...
arch/parisc/kernel/entry.S
浏览文件 @
7f1f311a
...
...
@@ -1804,52 +1804,6 @@ ENTRY(sys_vfork_wrapper)
ENDPROC
(
sys_vfork_wrapper
)
.
macro
execve_wrapper
execve
LDREG
TI_TASK
-
THREAD_SZ_ALGN
-
FRAME_SIZE
(%
r30
),%
r1
ldo
TASK_REGS
(%
r1
),%
r1
/*
get
pt
regs
*/
/
*
*
Do
we
need
to
save
/
restore
r3
-
r18
here
?
*
I
don
't think so. why would new thread need old
*
threads
registers
?
*/
/
*
%
arg0
-
%
arg3
are
already
saved
for
us
.
*/
STREG
%
r2
,-
RP_OFFSET
(%
r30
)
ldo
FRAME_SIZE
(%
r30
),%
r30
#ifdef CONFIG_64BIT
ldo
-
16
(%
r30
),%
r29
/*
Reference
param
save
area
*/
#endif
BL
\
execve
,%
r2
copy
%
r1
,%
arg0
ldo
-
FRAME_SIZE
(%
r30
),%
r30
LDREG
-
RP_OFFSET
(%
r30
),%
r2
/
*
If
exec
succeeded
we
need
to
load
the
args
*/
ldo
-
1024
(%
r0
),%
r1
cmpb
,>>
=
%
r28
,%
r1
,
error_
\
execve
copy
%
r2
,%
r19
error_
\
execve
:
bv
%
r0
(%
r19
)
nop
.
endm
.
import
sys_execve
ENTRY
(
sys_execve_wrapper
)
execve_wrapper
sys_execve
ENDPROC
(
sys_execve_wrapper
)
#ifdef CONFIG_64BIT
.
import
sys32_execve
ENTRY
(
sys32_execve_wrapper
)
execve_wrapper
sys32_execve
ENDPROC
(
sys32_execve_wrapper
)
#endif
ENTRY
(
sys_rt_sigreturn_wrapper
)
LDREG
TI_TASK
-
THREAD_SZ_ALGN
-
FRAME_SIZE
(%
r30
),%
r26
ldo
TASK_REGS
(%
r26
),%
r26
/*
get
pt
regs
*/
...
...
arch/parisc/kernel/process.c
浏览文件 @
7f1f311a
...
...
@@ -314,29 +314,6 @@ unsigned long thread_saved_pc(struct task_struct *t)
return
t
->
thread
.
regs
.
kpc
;
}
/*
* sys_execve() executes a new program.
*/
asmlinkage
int
sys_execve
(
struct
pt_regs
*
regs
)
{
int
error
;
struct
filename
*
filename
;
filename
=
getname
((
const
char
__user
*
)
regs
->
gr
[
26
]);
error
=
PTR_ERR
(
filename
);
if
(
IS_ERR
(
filename
))
goto
out
;
error
=
do_execve
(
filename
->
name
,
(
const
char
__user
*
const
__user
*
)
regs
->
gr
[
25
],
(
const
char
__user
*
const
__user
*
)
regs
->
gr
[
24
],
regs
);
putname
(
filename
);
out:
return
error
;
}
unsigned
long
get_wchan
(
struct
task_struct
*
p
)
{
...
...
arch/parisc/kernel/sys_parisc32.c
浏览文件 @
7f1f311a
...
...
@@ -53,28 +53,6 @@
#define DBG(x)
#endif
/*
* sys32_execve() executes a new program.
*/
asmlinkage
int
sys32_execve
(
struct
pt_regs
*
regs
)
{
int
error
;
struct
filename
*
filename
;
DBG
((
"sys32_execve(%p) r26 = 0x%lx
\n
"
,
regs
,
regs
->
gr
[
26
]));
filename
=
getname
((
const
char
__user
*
)
regs
->
gr
[
26
]);
error
=
PTR_ERR
(
filename
);
if
(
IS_ERR
(
filename
))
goto
out
;
error
=
compat_do_execve
(
filename
->
name
,
compat_ptr
(
regs
->
gr
[
25
]),
compat_ptr
(
regs
->
gr
[
24
]),
regs
);
putname
(
filename
);
out:
return
error
;
}
asmlinkage
long
sys32_unimplemented
(
int
r26
,
int
r25
,
int
r24
,
int
r23
,
int
r22
,
int
r21
,
int
r20
)
{
...
...
arch/parisc/kernel/syscall_table.S
浏览文件 @
7f1f311a
...
...
@@ -66,7 +66,7 @@
ENTRY_SAME
(
creat
)
ENTRY_SAME
(
link
)
ENTRY_SAME
(
unlink
)
/*
10
*/
ENTRY_
DIFF
(
execve_wrapper
)
ENTRY_
COMP
(
execve
)
ENTRY_SAME
(
chdir
)
/
*
See
comments
in
kernel
/
time
.
c
!!!
Maybe
we
don
't need this? */
ENTRY_COMP
(
time
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录