Skip to content

Commit

Permalink
[AF_RXRPC]: Key facility changes for AF_RXRPC
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
dhowells authored and davem330 committed Apr 26, 2007
1 parent 071b638 commit 7318226
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
12 changes: 12 additions & 0 deletions Documentation/keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
===================================
Expand Down
2 changes: 2 additions & 0 deletions include/linux/key.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ struct key {
*/
union {
struct list_head link;
unsigned long x[2];
void *p[2];
} type_data;

/* key data
Expand Down
2 changes: 2 additions & 0 deletions security/keys/keyring.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 7318226

Please sign in to comment.