Function report |
Source Code:security\integrity\evm\evm_crypto.c |
Create Date:2022-07-28 20:00:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Calculate the HMAC value across the set of protected security xattrs.* Instead of retrieving the requested xattr, for performance, calculate* the hmac using the requested xattr value. Don't alloc/free memory for
Proto:static int evm_calc_hmac_or_hash(struct dentry *dentry, const char *req_xattr_name, const char *req_xattr_value, size_t req_xattr_value_len, uint8_t type, struct evm_digest *data)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct dentry * | dentry | |
const char * | req_xattr_name | |
const char * | req_xattr_value | |
size_t | req_xattr_value_len | |
uint8_t | type | |
struct evm_digest * | data |
195 | xattr_size = 0 |
196 | char * xattr_value = NULL |
199 | bool ima_present = false |
201 | If Not (i_opflags & IOP_XATTR) || s_user_ns != userns count is 1 for root user, 1 for init_uts_ns,* and 1 for... ? Then Return -EOPNOTSUPP |
213 | bool is_ima = false |
215 | If strcmp(name, XATTR_NAME_IMA) == 0 Then is_ima = true |
218 | If req_xattr_name && req_xattr_value && Not strcmp(name, req_xattr_name) Then |
227 | size = vfs_getxattr_alloc(dentry, name, & xattr_value, xattr_size, GFP_NOFS) |
233 | If size < 0 Then Continue |
236 | error = 0 |
237 | xattr_size = size |
239 | If is_ima Then ima_present = true |
245 | If type == EVM_XATTR_PORTABLE_DIGSIG && Not ima_present Then Return -EPERM |
247 | out : |
248 | kfree(xattr_value) |
250 | Return error |
Name | Describe |
---|---|
evm_calc_hmac | |
evm_calc_hash |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |