1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * Copyright (c) 2023 Huawei Device Co., Ltd. 4 */ 5 6 #ifndef _CODE_SIGN_EXT_H 7 #define _CODE_SIGN_EXT_H 8 9 #include <linux/xpm_types.h> 10 11 #define OWNERID_SYSTEM_TAG "SYSTEM_LIB_ID" 12 #define OWNERID_DEBUG_TAG "DEBUG_LIB_ID" 13 #define OWNERID_SHARED_TAG "SHARED_LIB_ID" 14 #define OWNERID_COMPAT_TAG "COMPAT_LIB_ID" 15 16 enum file_ownerid_type { 17 FILE_OWNERID_UNINT = 0, 18 FILE_OWNERID_SYSTEM, 19 FILE_OWNERID_APP, 20 FILE_OWNERID_DEBUG, 21 FILE_OWNERID_SHARED, 22 FILE_OWNERID_COMPAT, 23 FILE_OWNERID_MAX 24 }; 25 26 /* process and file ownerid types need to correspond to each other */ 27 enum process_ownerid_type { 28 PROCESS_OWNERID_UNINIT = FILE_OWNERID_UNINT, 29 PROCESS_OWNERID_SYSTEM = FILE_OWNERID_SYSTEM, 30 PROCESS_OWNERID_APP = FILE_OWNERID_APP, 31 PROCESS_OWNERID_DEBUG = FILE_OWNERID_DEBUG, 32 PROCESS_OWNERID_COMPAT = FILE_OWNERID_COMPAT, 33 PROCESS_OWNERID_EXTEND, 34 PROCESS_OWNERID_MAX 35 }; 36 37 /* 38 * code_sign_ext.c 39 */ 40 void code_sign_check_descriptor(const struct inode *inode, 41 const void *desc, int *ret); 42 43 void code_sign_before_measurement(void *_desc, int *ret); 44 45 void code_sign_after_measurement(void *_desc, int version); 46 47 void code_sign_init_salt(void); 48 49 void code_sign_set_ownerid(struct cs_info *cs_info, uint32_t id_type, 50 const char *id_str, uint32_t id_len); 51 52 #endif /* _CODE_SIGN_H */ 53