Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
digest-list-tools
提交
3f2c82e5
D
digest-list-tools
项目概览
openeuler
/
digest-list-tools
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
digest-list-tools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3f2c82e5
编写于
5月 01, 2020
作者:
R
Roberto Sassu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ignore setxattr() error but print error message
上级
67bc5cb7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
16 addition
and
6 deletion
+16
-6
lib/xattr.c
lib/xattr.c
+16
-6
未找到文件。
lib/xattr.c
浏览文件 @
3f2c82e5
...
...
@@ -29,8 +29,10 @@ int write_ima_xattr(int dirfd, char *path, u8 *keyid, size_t keyid_len,
xattr_buf_len
=
sizeof
(
*
hdr
)
+
sig_len
;
xattr_buf
=
calloc
(
sizeof
(
u8
),
xattr_buf_len
);
if
(
!
xattr_buf
)
if
(
!
xattr_buf
)
{
printf
(
"Out of memory
\n
"
);
return
-
ENOMEM
;
}
hdr
=
(
struct
signature_v2_hdr
*
)
xattr_buf
;
hdr
->
type
=
EVM_IMA_XATTR_DIGSIG
;
...
...
@@ -58,10 +60,11 @@ int write_ima_xattr(int dirfd, char *path, u8 *keyid, size_t keyid_len,
}
out:
if
(
ret
<
0
)
printf
(
"Cannot add %s xattr
\n
"
,
XATTR_NAME_IMA
);
printf
(
"Cannot add %s xattr to %s: %s
\n
"
,
XATTR_NAME_IMA
,
path
,
strerror
(
errno
));
free
(
xattr_buf
);
return
ret
;
return
0
;
}
int
write_evm_xattr
(
char
*
path
,
enum
hash_algo
algo
)
...
...
@@ -76,9 +79,10 @@ int write_evm_xattr(char *path, enum hash_algo algo)
ret
=
lsetxattr
(
path
,
XATTR_NAME_EVM
,
&
hdr
,
offsetof
(
struct
signature_v2_hdr
,
keyid
),
0
);
if
(
ret
<
0
)
printf
(
"Cannot add %s xattr
\n
"
,
XATTR_NAME_EVM
);
printf
(
"Cannot add %s xattr to %s: %s
\n
"
,
XATTR_NAME_EVM
,
path
,
strerror
(
errno
));
return
ret
;
return
0
;
}
int
parse_ima_xattr
(
u8
*
buf
,
size_t
buf_len
,
u8
**
keyid
,
size_t
*
keyid_len
,
...
...
@@ -146,6 +150,7 @@ int gen_write_ima_xattr(u8 *buf, int *buf_len, char *path, u8 algo, u8 *digest,
bool
immutable
,
bool
write
)
{
struct
evm_ima_xattr_data
*
ima_xattr
=
(
struct
evm_ima_xattr_data
*
)
buf
;
int
ret
;
*
buf_len
=
1
+
1
+
hash_digest_size
[
algo
];
ima_xattr
->
type
=
IMA_XATTR_DIGEST_NG
;
...
...
@@ -155,5 +160,10 @@ int gen_write_ima_xattr(u8 *buf, int *buf_len, char *path, u8 algo, u8 *digest,
if
(
!
write
)
return
0
;
return
lsetxattr
(
path
,
XATTR_NAME_IMA
,
buf
,
*
buf_len
,
0
);
ret
=
lsetxattr
(
path
,
XATTR_NAME_IMA
,
buf
,
*
buf_len
,
0
);
if
(
ret
<
0
)
printf
(
"Cannot add %s xattr to %s: %s
\n
"
,
XATTR_NAME_IMA
,
path
,
strerror
(
errno
));
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录