Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
bf20d772
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
bf20d772
编写于
8月 10, 2015
作者:
H
Herbert Xu
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Merge the crypto tree to pull in the authencesn fix.
上级
e94c6a7a
443c0d7e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
12 addition
and
32 deletion
+12
-32
crypto/authencesn.c
crypto/authencesn.c
+12
-32
未找到文件。
crypto/authencesn.c
浏览文件 @
bf20d772
...
...
@@ -393,8 +393,6 @@ static int crypto_authenc_esn_genicv(struct aead_request *req, u8 *iv,
struct
scatterlist
*
cipher
=
areq_ctx
->
cipher
;
struct
scatterlist
*
hsg
=
areq_ctx
->
hsg
;
struct
scatterlist
*
tsg
=
areq_ctx
->
tsg
;
struct
scatterlist
*
assoc1
;
struct
scatterlist
*
assoc2
;
unsigned
int
ivsize
=
crypto_aead_ivsize
(
authenc_esn
);
unsigned
int
cryptlen
=
req
->
cryptlen
;
struct
page
*
dstp
;
...
...
@@ -412,27 +410,19 @@ static int crypto_authenc_esn_genicv(struct aead_request *req, u8 *iv,
cryptlen
+=
ivsize
;
}
if
(
sg_is_last
(
assoc
))
return
-
EINVAL
;
assoc1
=
assoc
+
1
;
if
(
sg_is_last
(
assoc1
))
return
-
EINVAL
;
assoc2
=
assoc
+
2
;
if
(
!
sg_is_last
(
assoc2
))
if
(
assoc
->
length
<
12
)
return
-
EINVAL
;
sg_init_table
(
hsg
,
2
);
sg_set_page
(
hsg
,
sg_page
(
assoc
),
assoc
->
length
,
assoc
->
offset
);
sg_set_page
(
hsg
+
1
,
sg_page
(
assoc
2
),
assoc2
->
length
,
assoc2
->
offset
);
sg_set_page
(
hsg
,
sg_page
(
assoc
),
4
,
assoc
->
offset
);
sg_set_page
(
hsg
+
1
,
sg_page
(
assoc
),
4
,
assoc
->
offset
+
8
);
sg_init_table
(
tsg
,
1
);
sg_set_page
(
tsg
,
sg_page
(
assoc
1
),
assoc1
->
length
,
assoc1
->
offset
);
sg_set_page
(
tsg
,
sg_page
(
assoc
),
4
,
assoc
->
offset
+
4
);
areq_ctx
->
cryptlen
=
cryptlen
;
areq_ctx
->
headlen
=
assoc
->
length
+
assoc2
->
length
;
areq_ctx
->
trailen
=
assoc1
->
length
;
areq_ctx
->
headlen
=
8
;
areq_ctx
->
trailen
=
4
;
areq_ctx
->
sg
=
dst
;
areq_ctx
->
complete
=
authenc_esn_geniv_ahash_done
;
...
...
@@ -563,8 +553,6 @@ static int crypto_authenc_esn_iverify(struct aead_request *req, u8 *iv,
struct
scatterlist
*
cipher
=
areq_ctx
->
cipher
;
struct
scatterlist
*
hsg
=
areq_ctx
->
hsg
;
struct
scatterlist
*
tsg
=
areq_ctx
->
tsg
;
struct
scatterlist
*
assoc1
;
struct
scatterlist
*
assoc2
;
unsigned
int
ivsize
=
crypto_aead_ivsize
(
authenc_esn
);
struct
page
*
srcp
;
u8
*
vsrc
;
...
...
@@ -580,27 +568,19 @@ static int crypto_authenc_esn_iverify(struct aead_request *req, u8 *iv,
cryptlen
+=
ivsize
;
}
if
(
sg_is_last
(
assoc
))
return
-
EINVAL
;
assoc1
=
assoc
+
1
;
if
(
sg_is_last
(
assoc1
))
return
-
EINVAL
;
assoc2
=
assoc
+
2
;
if
(
!
sg_is_last
(
assoc2
))
if
(
assoc
->
length
<
12
)
return
-
EINVAL
;
sg_init_table
(
hsg
,
2
);
sg_set_page
(
hsg
,
sg_page
(
assoc
),
assoc
->
length
,
assoc
->
offset
);
sg_set_page
(
hsg
+
1
,
sg_page
(
assoc
2
),
assoc2
->
length
,
assoc2
->
offset
);
sg_set_page
(
hsg
,
sg_page
(
assoc
),
4
,
assoc
->
offset
);
sg_set_page
(
hsg
+
1
,
sg_page
(
assoc
),
4
,
assoc
->
offset
+
8
);
sg_init_table
(
tsg
,
1
);
sg_set_page
(
tsg
,
sg_page
(
assoc
1
),
assoc1
->
length
,
assoc1
->
offset
);
sg_set_page
(
tsg
,
sg_page
(
assoc
),
4
,
assoc
->
offset
+
4
);
areq_ctx
->
cryptlen
=
cryptlen
;
areq_ctx
->
headlen
=
assoc
->
length
+
assoc2
->
length
;
areq_ctx
->
trailen
=
assoc1
->
length
;
areq_ctx
->
headlen
=
8
;
areq_ctx
->
trailen
=
4
;
areq_ctx
->
sg
=
src
;
areq_ctx
->
complete
=
authenc_esn_verify_ahash_done
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录