Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
2ef59f28
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2ef59f28
编写于
3月 28, 2017
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
unicore32: get rid of zeroing and switch to RAW_COPY_USER
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
d597580d
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
16 addition
and
17 deletion
+16
-17
arch/unicore32/Kconfig
arch/unicore32/Kconfig
+1
-0
arch/unicore32/include/asm/uaccess.h
arch/unicore32/include/asm/uaccess.h
+4
-2
arch/unicore32/kernel/ksyms.c
arch/unicore32/kernel/ksyms.c
+2
-2
arch/unicore32/lib/copy_from_user.S
arch/unicore32/lib/copy_from_user.S
+6
-10
arch/unicore32/lib/copy_to_user.S
arch/unicore32/lib/copy_to_user.S
+3
-3
未找到文件。
arch/unicore32/Kconfig
浏览文件 @
2ef59f28
...
...
@@ -18,6 +18,7 @@ config UNICORE32
select ARCH_WANT_FRAME_POINTERS
select GENERIC_IOMAP
select MODULES_USE_ELF_REL
select ARCH_HAS_RAW_COPY_USER
help
UniCore-32 is 32-bit Instruction Set Architecture,
including a series of low-power-consumption RISC chip
...
...
arch/unicore32/include/asm/uaccess.h
浏览文件 @
2ef59f28
...
...
@@ -24,15 +24,17 @@
#define __access_ok(addr, size) (__kernel_ok || __user_ok((addr), (size)))
extern
unsigned
long
__must_check
_
_copy_from_user
(
void
*
to
,
const
void
__user
*
from
,
unsigned
long
n
);
raw
_copy_from_user
(
void
*
to
,
const
void
__user
*
from
,
unsigned
long
n
);
extern
unsigned
long
__must_check
_
_copy_to_user
(
void
__user
*
to
,
const
void
*
from
,
unsigned
long
n
);
raw
_copy_to_user
(
void
__user
*
to
,
const
void
*
from
,
unsigned
long
n
);
extern
unsigned
long
__must_check
__clear_user
(
void
__user
*
addr
,
unsigned
long
n
);
extern
unsigned
long
__must_check
__strncpy_from_user
(
char
*
to
,
const
char
__user
*
from
,
unsigned
long
count
);
extern
unsigned
long
__strnlen_user
(
const
char
__user
*
s
,
long
n
);
#define INLINE_COPY_FROM_USER
#define INLINE_COPY_TO_USER
#include <asm-generic/uaccess.h>
...
...
arch/unicore32/kernel/ksyms.c
浏览文件 @
2ef59f28
...
...
@@ -46,8 +46,8 @@ EXPORT_SYMBOL(__strncpy_from_user);
EXPORT_SYMBOL
(
copy_page
);
EXPORT_SYMBOL
(
_
_copy_from_user
);
EXPORT_SYMBOL
(
_
_copy_to_user
);
EXPORT_SYMBOL
(
raw
_copy_from_user
);
EXPORT_SYMBOL
(
raw
_copy_to_user
);
EXPORT_SYMBOL
(
__clear_user
);
EXPORT_SYMBOL
(
__ashldi3
);
...
...
arch/unicore32/lib/copy_from_user.S
浏览文件 @
2ef59f28
...
...
@@ -16,7 +16,7 @@
/*
*
Prototype
:
*
*
size_t
_
_copy_from_user
(
void
*
to
,
const
void
*
from
,
size_t
n
)
*
size_t
raw
_copy_from_user
(
void
*
to
,
const
void
*
from
,
size_t
n
)
*
*
Purpose
:
*
...
...
@@ -87,22 +87,18 @@
.
text
ENTRY
(
_
_copy_from_user
)
ENTRY
(
raw
_copy_from_user
)
#include "copy_template.S"
ENDPROC
(
_
_copy_from_user
)
ENDPROC
(
raw
_copy_from_user
)
.
pushsection
.
fixup
,
"ax"
.
align
0
copy_abort_preamble
ldm.w
(
r1
,
r2
),
[
sp
]+
sub
r3
,
r0
,
r1
rsub
r2
,
r3
,
r2
stw
r2
,
[
sp
]
mov
r1
,
#
0
b.l
memset
ldw.w
r0
,
[
sp
]+,
#
4
ldm.w
(
r1
,
r2
,
r3
),
[
sp
]+
sub
r0
,
r0
,
r1
rsub
r0
,
r0
,
r2
copy_abort_end
.
popsection
arch/unicore32/lib/copy_to_user.S
浏览文件 @
2ef59f28
...
...
@@ -16,7 +16,7 @@
/*
*
Prototype
:
*
*
size_t
_
_copy_to_user
(
void
*
to
,
const
void
*
from
,
size_t
n
)
*
size_t
raw
_copy_to_user
(
void
*
to
,
const
void
*
from
,
size_t
n
)
*
*
Purpose
:
*
...
...
@@ -79,11 +79,11 @@
.
text
WEAK
(
_
_copy_to_user
)
WEAK
(
raw
_copy_to_user
)
#include "copy_template.S"
ENDPROC
(
_
_copy_to_user
)
ENDPROC
(
raw
_copy_to_user
)
.
pushsection
.
fixup
,
"ax"
.
align
0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录