• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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