[AF_RXRPC]: Key facility changes for AF_RXRPC
Export the keyring key type definition and document its availability. Add alternative types into the key's type_data union to make it more useful. Not all users necessarily want to use it as a list_head (AF_RXRPC doesn't, for example), so make it clear that it can be used in other ways. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
071b638689
commit
7318226ea2
3 changed files with 16 additions and 0 deletions
|
@ -859,6 +859,18 @@ payload contents" for more information.
|
|||
void unregister_key_type(struct key_type *type);
|
||||
|
||||
|
||||
Under some circumstances, it may be desirable to desirable to deal with a
|
||||
bundle of keys. The facility provides access to the keyring type for managing
|
||||
such a bundle:
|
||||
|
||||
struct key_type key_type_keyring;
|
||||
|
||||
This can be used with a function such as request_key() to find a specific
|
||||
keyring in a process's keyrings. A keyring thus found can then be searched
|
||||
with keyring_search(). Note that it is not possible to use request_key() to
|
||||
search a specific keyring, so using keyrings in this way is of limited utility.
|
||||
|
||||
|
||||
===================================
|
||||
NOTES ON ACCESSING PAYLOAD CONTENTS
|
||||
===================================
|
||||
|
|
|
@ -160,6 +160,8 @@ struct key {
|
|||
*/
|
||||
union {
|
||||
struct list_head link;
|
||||
unsigned long x[2];
|
||||
void *p[2];
|
||||
} type_data;
|
||||
|
||||
/* key data
|
||||
|
|
|
@ -66,6 +66,8 @@ struct key_type key_type_keyring = {
|
|||
.read = keyring_read,
|
||||
};
|
||||
|
||||
EXPORT_SYMBOL(key_type_keyring);
|
||||
|
||||
/*
|
||||
* semaphore to serialise link/link calls to prevent two link calls in parallel
|
||||
* introducing a cycle
|
||||
|
|
Loading…
Reference in a new issue