* [android-common:android13-5.10 1/1] include/../security/keys/internal.h:109:8: error: unknown type name 'key_ref_t'
@ 2026-07-17 15:09 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-17 15:09 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android13-5.10
head: 2a1505f4186ef01095fe97a2592cc058696bbfa8
commit: 7108d9d0e5f2ff1a531dd36714c68a330ba84823 [1/1] ANDROID: remove inclusions from hook definition headers
config: arm64-randconfig-004-20260717 (https://download.01.org/0day-ci/archive/20260717/202607172309.ESjAtQk6-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 9.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260717/202607172309.ESjAtQk6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202607172309.ESjAtQk6-lkp@intel.com/
All error/warnings (new ones prefixed by >>):
In file included from drivers/android/vendor_hooks.c:28:
>> include/../security/keys/internal.h:91:38: warning: 'struct keyring_index_key' declared inside parameter list will not be visible outside of this definition or declaration
91 | extern void key_set_index_key(struct keyring_index_key *index_key);
| ^~~~~~~~~~~~~~~~~
include/../security/keys/internal.h:96:20: warning: 'struct keyring_index_key' declared inside parameter list will not be visible outside of this definition or declaration
96 | const struct keyring_index_key *index_key);
| ^~~~~~~~~~~~~~~~~
include/../security/keys/internal.h:98:20: warning: 'struct keyring_index_key' declared inside parameter list will not be visible outside of this definition or declaration
98 | const struct keyring_index_key *index_key);
| ^~~~~~~~~~~~~~~~~
>> include/../security/keys/internal.h:101:15: warning: 'struct assoc_array_edit' declared inside parameter list will not be visible outside of this definition or declaration
101 | struct assoc_array_edit **_edit);
| ^~~~~~~~~~~~~~~~
include/../security/keys/internal.h:100:21: warning: 'struct keyring_index_key' declared inside parameter list will not be visible outside of this definition or declaration
100 | const struct keyring_index_key *index_key,
| ^~~~~~~~~~~~~~~~~
include/../security/keys/internal.h:104:17: warning: 'struct assoc_array_edit' declared inside parameter list will not be visible outside of this definition or declaration
104 | struct assoc_array_edit **_edit);
| ^~~~~~~~~~~~~~~~
include/../security/keys/internal.h:107:14: warning: 'struct assoc_array_edit' declared inside parameter list will not be visible outside of this definition or declaration
107 | struct assoc_array_edit *edit);
| ^~~~~~~~~~~~~~~~
include/../security/keys/internal.h:106:20: warning: 'struct keyring_index_key' declared inside parameter list will not be visible outside of this definition or declaration
106 | const struct keyring_index_key *index_key,
| ^~~~~~~~~~~~~~~~~
>> include/../security/keys/internal.h:109:8: error: unknown type name 'key_ref_t'
109 | extern key_ref_t find_key_to_update(key_ref_t keyring_ref,
| ^~~~~~~~~
include/../security/keys/internal.h:109:37: error: unknown type name 'key_ref_t'; did you mean 'key_ref_put'?
109 | extern key_ref_t find_key_to_update(key_ref_t keyring_ref,
| ^~~~~~~~~
| key_ref_put
>> include/../security/keys/internal.h:120:27: error: field 'index_key' has incomplete type
120 | struct keyring_index_key index_key;
| ^~~~~~~~~
>> include/../security/keys/internal.h:122:24: error: field 'match_data' has incomplete type
122 | struct key_match_data match_data;
| ^~~~~~~~~~
include/../security/keys/internal.h:137:2: error: unknown type name 'key_ref_t'
137 | key_ref_t result;
| ^~~~~~~~~
include/../security/keys/internal.h:143:8: error: unknown type name 'key_ref_t'
143 | extern key_ref_t keyring_search_rcu(key_ref_t keyring_ref,
| ^~~~~~~~~
include/../security/keys/internal.h:143:37: error: unknown type name 'key_ref_t'; did you mean 'key_ref_put'?
143 | extern key_ref_t keyring_search_rcu(key_ref_t keyring_ref,
| ^~~~~~~~~
| key_ref_put
include/../security/keys/internal.h:146:8: error: unknown type name 'key_ref_t'
146 | extern key_ref_t search_cred_keyrings_rcu(struct keyring_search_context *ctx);
| ^~~~~~~~~
include/../security/keys/internal.h:147:8: error: unknown type name 'key_ref_t'
147 | extern key_ref_t search_process_keyrings_rcu(struct keyring_search_context *ctx);
| ^~~~~~~~~
>> include/../security/keys/internal.h:159:13: warning: 'struct key_tag' declared inside parameter list will not be visible outside of this definition or declaration
159 | struct key_tag *domain_tag,
| ^~~~~~~
include/../security/keys/internal.h:183:38: error: unknown type name 'key_ref_t'
183 | extern int key_task_permission(const key_ref_t key_ref,
| ^~~~~~~~~
>> include/../security/keys/internal.h:185:16: warning: 'enum key_need_perm' declared inside parameter list will not be visible outside of this definition or declaration
185 | enum key_need_perm need_perm);
| ^~~~~~~~~~~~~
include/../security/keys/internal.h:207:40: error: unknown type name 'key_ref_t'
207 | static inline int key_permission(const key_ref_t key_ref,
| ^~~~~~~~~
include/../security/keys/internal.h:208:11: warning: 'enum key_need_perm' declared inside parameter list will not be visible outside of this definition or declaration
208 | enum key_need_perm need_perm)
| ^~~~~~~~~~~~~
>> include/../security/keys/internal.h:208:25: error: parameter 2 ('need_perm') has incomplete type
208 | enum key_need_perm need_perm)
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
>> include/../security/keys/internal.h:207:19: error: function declaration isn't a prototype [-Werror=strict-prototypes]
207 | static inline int key_permission(const key_ref_t key_ref,
| ^~~~~~~~~~~~~~
include/../security/keys/internal.h: In function 'key_permission':
>> include/../security/keys/internal.h:210:54: error: type of formal parameter 3 is incomplete
210 | return key_task_permission(key_ref, current_cred(), need_perm);
| ^~~~~~~~~
include/../security/keys/internal.h: In function 'key_is_dead':
>> include/../security/keys/internal.h:228:6: error: dereferencing pointer to incomplete type 'const struct key'
228 | key->flags & ((1 << KEY_FLAG_DEAD) |
| ^~
>> include/../security/keys/internal.h:228:23: error: 'KEY_FLAG_DEAD' undeclared (first use in this function); did you mean 'QUEUE_FLAG_DEAD'?
228 | key->flags & ((1 << KEY_FLAG_DEAD) |
| ^~~~~~~~~~~~~
| QUEUE_FLAG_DEAD
include/../security/keys/internal.h:228:23: note: each undeclared identifier is reported only once for each function it appears in
>> include/../security/keys/internal.h:229:16: error: 'KEY_FLAG_INVALIDATED' undeclared (first use in this function); did you mean 'KEYCTL_INVALIDATE'?
229 | (1 << KEY_FLAG_INVALIDATED)) ||
| ^~~~~~~~~~~~~~~~~~~~
| KEYCTL_INVALIDATE
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/suspend.h:26,
from drivers/android/vendor_hooks.c:98:
At top level:
include/trace/trace_events.h:27:23: warning: 'str__suspend__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:27:23: note: in definition of macro '__app__'
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro 'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro 'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/pci.h:24,
from drivers/android/vendor_hooks.c:97:
include/trace/trace_events.h:27:23: warning: 'str__pci__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:27:23: note: in definition of macro '__app__'
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro 'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro 'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/gup.h:33,
from drivers/android/vendor_hooks.c:96:
include/trace/trace_events.h:27:23: warning: 'str__gup__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:27:23: note: in definition of macro '__app__'
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro 'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro 'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/snd_compr.h:23,
from drivers/android/vendor_hooks.c:95:
include/trace/trace_events.h:27:23: warning: 'str__snd_compr__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:27:23: note: in definition of macro '__app__'
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro 'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro 'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/sound.h:19,
from drivers/android/vendor_hooks.c:94:
include/trace/trace_events.h:27:23: warning: 'str__sound__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:27:23: note: in definition of macro '__app__'
27 | #define __app__(x, y) str__##x##y
| ^~~~~
include/trace/trace_events.h:30:29: note: in expansion of macro '__app'
30 | #define TRACE_SYSTEM_STRING __app(TRACE_SYSTEM_VAR,__trace_system_name)
| ^~~~~
include/trace/trace_events.h:33:20: note: in expansion of macro 'TRACE_SYSTEM_STRING'
33 | static const char TRACE_SYSTEM_STRING[] = \
| ^~~~~~~~~~~~~~~~~~~
include/trace/trace_events.h:36:1: note: in expansion of macro 'TRACE_MAKE_SYSTEM_STR'
36 | TRACE_MAKE_SYSTEM_STR();
| ^~~~~~~~~~~~~~~~~~~~~
In file included from include/trace/define_trace.h:102,
from include/trace/hooks/ipv6.h:21,
from drivers/android/vendor_hooks.c:93:
include/trace/trace_events.h:27:23: warning: 'str__ipv6__trace_system_name' defined but not used [-Wunused-const-variable=]
27 | #define __app__(x, y) str__##x##y
| ^~~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for USB_PHY
Depends on [n]: USB_SUPPORT [=n]
Selected by [y]:
- GKI_HIDDEN_USB_CONFIGS [=y]
WARNING: unmet direct dependencies detected for WEXT_PRIV
Depends on [n]: NET [=y] && WIRELESS [=n]
Selected by [y]:
- GKI_LEGACY_WEXT_ALLCONFIG [=y]
WARNING: unmet direct dependencies detected for WEXT_SPY
Depends on [n]: NET [=y] && WIRELESS [=n]
Selected by [y]:
- GKI_LEGACY_WEXT_ALLCONFIG [=y]
WARNING: unmet direct dependencies detected for WIRELESS_EXT
Depends on [n]: NET [=y] && WIRELESS [=n]
Selected by [y]:
- GKI_LEGACY_WEXT_ALLCONFIG [=y]
WARNING: unmet direct dependencies detected for WEXT_CORE
Depends on [n]: NET [=y] && WIRELESS [=n] && (CFG80211_WEXT [=n] || WIRELESS_EXT [=y])
Selected by [y]:
- GKI_LEGACY_WEXT_ALLCONFIG [=y]
WARNING: unmet direct dependencies detected for SND_VMASTER
Depends on [n]: SOUND [=n] && !UML && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_PCM_IEC958
Depends on [n]: SOUND [=n] && !UML && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_SOC_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK
Depends on [n]: SOUND [=n] && !UML && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_JACK_INPUT_DEV
Depends on [n]: SOUND [=n] && !UML && SND [=n] && SND_JACK [=y]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for SND_PCM_ELD
Depends on [n]: SOUND [=n] && !UML && SND [=n]
Selected by [y]:
- GKI_HIDDEN_SND_CONFIGS [=y]
WARNING: unmet direct dependencies detected for WEXT_PROC
Depends on [n]: NET [=y] && WIRELESS [=n] && PROC_FS [=n] && WEXT_CORE [=y]
Selected by [y]:
- GKI_LEGACY_WEXT_ALLCONFIG [=y]
vim +/key_ref_t +109 include/../security/keys/internal.h
^1da177e4c3f41 Linus Torvalds 2005-04-16 90
355ef8e1588502 David Howells 2019-06-26 @91 extern void key_set_index_key(struct keyring_index_key *index_key);
e9e349b051d987 David Howells 2008-11-14 92 extern struct key_type *key_type_lookup(const char *type);
e9e349b051d987 David Howells 2008-11-14 93 extern void key_type_put(struct key_type *ktype);
e9e349b051d987 David Howells 2008-11-14 94
df593ee23e05cd David Howells 2019-05-30 95 extern int __key_link_lock(struct key *keyring,
df593ee23e05cd David Howells 2019-05-30 96 const struct keyring_index_key *index_key);
ed0ac5c7ec3763 David Howells 2019-05-20 97 extern int __key_move_lock(struct key *l_keyring, struct key *u_keyring,
ed0ac5c7ec3763 David Howells 2019-05-20 98 const struct keyring_index_key *index_key);
f70e2e06196ad4 David Howells 2010-04-30 99 extern int __key_link_begin(struct key *keyring,
16feef4340172b David Howells 2013-09-24 100 const struct keyring_index_key *index_key,
b2a4df200d570b David Howells 2013-09-24 @101 struct assoc_array_edit **_edit);
f70e2e06196ad4 David Howells 2010-04-30 102 extern int __key_link_check_live_key(struct key *keyring, struct key *key);
f7e47677e39a03 David Howells 2020-01-14 103 extern void __key_link(struct key *keyring, struct key *key,
f7e47677e39a03 David Howells 2020-01-14 104 struct assoc_array_edit **_edit);
f70e2e06196ad4 David Howells 2010-04-30 105 extern void __key_link_end(struct key *keyring,
16feef4340172b David Howells 2013-09-24 106 const struct keyring_index_key *index_key,
b2a4df200d570b David Howells 2013-09-24 107 struct assoc_array_edit *edit);
^1da177e4c3f41 Linus Torvalds 2005-04-16 108
b2a4df200d570b David Howells 2013-09-24 @109 extern key_ref_t find_key_to_update(key_ref_t keyring_ref,
e57e8669f2ab83 David Howells 2013-09-24 110 const struct keyring_index_key *index_key);
^1da177e4c3f41 Linus Torvalds 2005-04-16 111
3e30148c3d524a David Howells 2005-06-23 112 extern struct key *keyring_search_instkey(struct key *keyring,
3e30148c3d524a David Howells 2005-06-23 113 key_serial_t target_id);
3e30148c3d524a David Howells 2005-06-23 114
b2a4df200d570b David Howells 2013-09-24 115 extern int iterate_over_keyring(const struct key *keyring,
b2a4df200d570b David Howells 2013-09-24 116 int (*func)(const struct key *key, void *data),
b2a4df200d570b David Howells 2013-09-24 117 void *data);
b2a4df200d570b David Howells 2013-09-24 118
4bdf0bc3003141 David Howells 2013-09-24 119 struct keyring_search_context {
4bdf0bc3003141 David Howells 2013-09-24 @120 struct keyring_index_key index_key;
4bdf0bc3003141 David Howells 2013-09-24 121 const struct cred *cred;
462919591a1791 David Howells 2014-09-16 @122 struct key_match_data match_data;
4bdf0bc3003141 David Howells 2013-09-24 123 unsigned flags;
614d8c39014c18 David Howells 2014-09-16 124 #define KEYRING_SEARCH_NO_STATE_CHECK 0x0001 /* Skip state checks */
614d8c39014c18 David Howells 2014-09-16 125 #define KEYRING_SEARCH_DO_STATE_CHECK 0x0002 /* Override NO_STATE_CHECK */
614d8c39014c18 David Howells 2014-09-16 126 #define KEYRING_SEARCH_NO_UPDATE_TIME 0x0004 /* Don't update times */
614d8c39014c18 David Howells 2014-09-16 127 #define KEYRING_SEARCH_NO_CHECK_PERM 0x0008 /* Don't check permissions */
614d8c39014c18 David Howells 2014-09-16 128 #define KEYRING_SEARCH_DETECT_TOO_DEEP 0x0010 /* Give an error on excessive depth */
0b0a84154eff56 David Howells 2014-12-01 129 #define KEYRING_SEARCH_SKIP_EXPIRED 0x0020 /* Ignore expired keys (intention to replace) */
dcf49dbc8077e2 David Howells 2019-06-26 130 #define KEYRING_SEARCH_RECURSE 0x0040 /* Search child keyrings also */
4bdf0bc3003141 David Howells 2013-09-24 131
b2a4df200d570b David Howells 2013-09-24 132 int (*iterator)(const void *object, void *iterator_data);
b2a4df200d570b David Howells 2013-09-24 133
4bdf0bc3003141 David Howells 2013-09-24 134 /* Internal stuff */
4bdf0bc3003141 David Howells 2013-09-24 135 int skipped_ret;
4bdf0bc3003141 David Howells 2013-09-24 136 bool possessed;
4bdf0bc3003141 David Howells 2013-09-24 137 key_ref_t result;
074d58989569b3 Baolin Wang 2017-11-15 138 time64_t now;
4bdf0bc3003141 David Howells 2013-09-24 139 };
4bdf0bc3003141 David Howells 2013-09-24 140
0c903ab64feb0f David Howells 2014-09-16 141 extern bool key_default_cmp(const struct key *key,
c06cfb08b88dfb David Howells 2014-09-16 142 const struct key_match_data *match_data);
e59428f721ee09 David Howells 2019-06-19 143 extern key_ref_t keyring_search_rcu(key_ref_t keyring_ref,
4bdf0bc3003141 David Howells 2013-09-24 144 struct keyring_search_context *ctx);
4bdf0bc3003141 David Howells 2013-09-24 145
e59428f721ee09 David Howells 2019-06-19 146 extern key_ref_t search_cred_keyrings_rcu(struct keyring_search_context *ctx);
e59428f721ee09 David Howells 2019-06-19 147 extern key_ref_t search_process_keyrings_rcu(struct keyring_search_context *ctx);
^1da177e4c3f41 Linus Torvalds 2005-04-16 148
237bbd29f7a049 Eric Biggers 2017-09-18 149 extern struct key *find_keyring_by_name(const char *name, bool uid_keyring);
^1da177e4c3f41 Linus Torvalds 2005-04-16 150
0f44e4d976f96c David Howells 2019-06-26 151 extern int look_up_user_keyrings(struct key **, struct key **);
0f44e4d976f96c David Howells 2019-06-26 152 extern struct key *get_user_session_keyring_rcu(const struct cred *);
d84f4f992cbd76 David Howells 2008-11-14 153 extern int install_thread_keyring_to_cred(struct cred *);
d84f4f992cbd76 David Howells 2008-11-14 154 extern int install_process_keyring_to_cred(struct cred *);
685bfd2c48bb32 Oleg Nesterov 2010-05-26 155 extern int install_session_keyring_to_cred(struct cred *, struct key *);
3e30148c3d524a David Howells 2005-06-23 156
3e30148c3d524a David Howells 2005-06-23 157 extern struct key *request_key_and_link(struct key_type *type,
3e30148c3d524a David Howells 2005-06-23 158 const char *description,
a58946c158a040 David Howells 2019-06-26 @159 struct key_tag *domain_tag,
4a38e122e2cc62 David Howells 2008-04-29 160 const void *callout_info,
4a38e122e2cc62 David Howells 2008-04-29 161 size_t callout_len,
4e54f08543d05e David Howells 2006-06-29 162 void *aux,
7e047ef5fe2d52 David Howells 2006-06-26 163 struct key *dest_keyring,
7e047ef5fe2d52 David Howells 2006-06-26 164 unsigned long flags);
3e30148c3d524a David Howells 2005-06-23 165
0c903ab64feb0f David Howells 2014-09-16 166 extern bool lookup_user_key_possessed(const struct key *key,
462919591a1791 David Howells 2014-09-16 167 const struct key_match_data *match_data);
5593122eec26b0 David Howells 2009-09-02 168 #define KEY_LOOKUP_CREATE 0x01
5593122eec26b0 David Howells 2009-09-02 169 #define KEY_LOOKUP_PARTIAL 0x02
e9e349b051d987 David Howells 2008-11-14 170
e9e349b051d987 David Howells 2008-11-14 171 extern long join_session_keyring(const char *name);
67d1214551e800 Al Viro 2012-06-27 172 extern void key_change_session_keyring(struct callback_head *twork);
e9e349b051d987 David Howells 2008-11-14 173
0c061b5707ab84 David Howells 2011-08-22 174 extern struct work_struct key_gc_work;
5d135440faf7db David Howells 2009-09-02 175 extern unsigned key_gc_delay;
074d58989569b3 Baolin Wang 2017-11-15 176 extern void keyring_gc(struct key *keyring, time64_t limit);
2b6aa412ff23a0 Mat Martineau 2016-08-31 177 extern void keyring_restriction_gc(struct key *keyring,
2b6aa412ff23a0 Mat Martineau 2016-08-31 178 struct key_type *dead_type);
074d58989569b3 Baolin Wang 2017-11-15 179 extern void key_schedule_gc(time64_t gc_at);
fd75815f727f15 David Howells 2012-05-11 180 extern void key_schedule_gc_links(void);
0c061b5707ab84 David Howells 2011-08-22 181 extern void key_gc_keytype(struct key_type *ktype);
5d135440faf7db David Howells 2009-09-02 182
e9e349b051d987 David Howells 2008-11-14 183 extern int key_task_permission(const key_ref_t key_ref,
d84f4f992cbd76 David Howells 2008-11-14 184 const struct cred *cred,
8c0637e950d689 David Howells 2020-05-12 @185 enum key_need_perm need_perm);
e9e349b051d987 David Howells 2008-11-14 186
f7e47677e39a03 David Howells 2020-01-14 187 static inline void notify_key(struct key *key,
f7e47677e39a03 David Howells 2020-01-14 188 enum key_notification_subtype subtype, u32 aux)
f7e47677e39a03 David Howells 2020-01-14 189 {
f7e47677e39a03 David Howells 2020-01-14 190 #ifdef CONFIG_KEY_NOTIFICATIONS
f7e47677e39a03 David Howells 2020-01-14 191 struct key_notification n = {
f7e47677e39a03 David Howells 2020-01-14 192 .watch.type = WATCH_TYPE_KEY_NOTIFY,
f7e47677e39a03 David Howells 2020-01-14 193 .watch.subtype = subtype,
f7e47677e39a03 David Howells 2020-01-14 194 .watch.info = watch_sizeof(n),
f7e47677e39a03 David Howells 2020-01-14 195 .key_id = key_serial(key),
f7e47677e39a03 David Howells 2020-01-14 196 .aux = aux,
f7e47677e39a03 David Howells 2020-01-14 197 };
f7e47677e39a03 David Howells 2020-01-14 198
f7e47677e39a03 David Howells 2020-01-14 199 post_watch_notification(key->watchers, &n.watch, current_cred(),
f7e47677e39a03 David Howells 2020-01-14 200 n.key_id);
f7e47677e39a03 David Howells 2020-01-14 201 #endif
f7e47677e39a03 David Howells 2020-01-14 202 }
e9e349b051d987 David Howells 2008-11-14 203
973c9f4f49ca96 David Howells 2011-01-20 204 /*
973c9f4f49ca96 David Howells 2011-01-20 205 * Check to see whether permission is granted to use a key in the desired way.
973c9f4f49ca96 David Howells 2011-01-20 206 */
8c0637e950d689 David Howells 2020-05-12 @207 static inline int key_permission(const key_ref_t key_ref,
8c0637e950d689 David Howells 2020-05-12 @208 enum key_need_perm need_perm)
e9e349b051d987 David Howells 2008-11-14 209 {
8c0637e950d689 David Howells 2020-05-12 @210 return key_task_permission(key_ref, current_cred(), need_perm);
e9e349b051d987 David Howells 2008-11-14 211 }
e9e349b051d987 David Howells 2008-11-14 212
3e30148c3d524a David Howells 2005-06-23 213 extern struct key_type key_type_request_key_auth;
3e30148c3d524a David Howells 2005-06-23 214 extern struct key *request_key_auth_new(struct key *target,
822ad64d7e46a8 David Howells 2019-02-14 215 const char *op,
4a38e122e2cc62 David Howells 2008-04-29 216 const void *callout_info,
8bbf4976b59fc9 David Howells 2008-11-14 217 size_t callout_len,
8bbf4976b59fc9 David Howells 2008-11-14 218 struct key *dest_keyring);
3e30148c3d524a David Howells 2005-06-23 219
3e30148c3d524a David Howells 2005-06-23 220 extern struct key *key_get_instantiation_authkey(key_serial_t target_id);
^1da177e4c3f41 Linus Torvalds 2005-04-16 221
fd75815f727f15 David Howells 2012-05-11 222 /*
fd75815f727f15 David Howells 2012-05-11 223 * Determine whether a key is dead.
fd75815f727f15 David Howells 2012-05-11 224 */
074d58989569b3 Baolin Wang 2017-11-15 225 static inline bool key_is_dead(const struct key *key, time64_t limit)
fd75815f727f15 David Howells 2012-05-11 226 {
fd75815f727f15 David Howells 2012-05-11 227 return
fd75815f727f15 David Howells 2012-05-11 @228 key->flags & ((1 << KEY_FLAG_DEAD) |
fd75815f727f15 David Howells 2012-05-11 @229 (1 << KEY_FLAG_INVALIDATED)) ||
218e6424e711ce David Howells 2019-06-26 230 (key->expiry > 0 && key->expiry <= limit) ||
218e6424e711ce David Howells 2019-06-26 231 key->domain_tag->removed;
fd75815f727f15 David Howells 2012-05-11 232 }
fd75815f727f15 David Howells 2012-05-11 233
:::::: The code at line 109 was first introduced by commit
:::::: b2a4df200d570b2c33a57e1ebfa5896e4bc81b69 KEYS: Expand the capacity of a keyring
:::::: TO: David Howells <dhowells@redhat.com>
:::::: CC: David Howells <dhowells@redhat.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-17 15:09 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-17 15:09 [android-common:android13-5.10 1/1] include/../security/keys/internal.h:109:8: error: unknown type name 'key_ref_t' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.