diff options
author | David Howells <dhowells@redhat.com> | 2008-04-29 04:01:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-29 11:06:16 -0400 |
commit | 4a38e122e2cc6294779021ff4ccc784a3997059e (patch) | |
tree | 84b401b44e0550b04f831d98a91eacfd7cffb51d /Documentation | |
parent | dceba9944181b1fd5993417b5c8fa0e3dda38f8d (diff) |
keys: allow the callout data to be passed as a blob rather than a string
Allow the callout data to be passed as a blob rather than a string for
internal kernel services that call any request_key_*() interface other than
request_key(). request_key() itself still takes a NUL-terminated string.
The functions that change are:
request_key_with_auxdata()
request_key_async()
request_key_async_with_auxdata()
Signed-off-by: David Howells <dhowells@redhat.com>
Cc: Paul Moore <paul.moore@hp.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: James Morris <jmorris@namei.org>
Cc: Kevin Coffman <kwc@citi.umich.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/keys-request-key.txt | 11 | ||||
-rw-r--r-- | Documentation/keys.txt | 14 |
2 files changed, 16 insertions, 9 deletions
diff --git a/Documentation/keys-request-key.txt b/Documentation/keys-request-key.txt index 266955d23ee6..09b55e461740 100644 --- a/Documentation/keys-request-key.txt +++ b/Documentation/keys-request-key.txt | |||
@@ -11,26 +11,29 @@ request_key*(): | |||
11 | 11 | ||
12 | struct key *request_key(const struct key_type *type, | 12 | struct key *request_key(const struct key_type *type, |
13 | const char *description, | 13 | const char *description, |
14 | const char *callout_string); | 14 | const char *callout_info); |
15 | 15 | ||
16 | or: | 16 | or: |
17 | 17 | ||
18 | struct key *request_key_with_auxdata(const struct key_type *type, | 18 | struct key *request_key_with_auxdata(const struct key_type *type, |
19 | const char *description, | 19 | const char *description, |
20 | const char *callout_string, | 20 | const char *callout_info, |
21 | size_t callout_len, | ||
21 | void *aux); | 22 | void *aux); |
22 | 23 | ||
23 | or: | 24 | or: |
24 | 25 | ||
25 | struct key *request_key_async(const struct key_type *type, | 26 | struct key *request_key_async(const struct key_type *type, |
26 | const char *description, | 27 | const char *description, |
27 | const char *callout_string); | 28 | const char *callout_info, |
29 | size_t callout_len); | ||
28 | 30 | ||
29 | or: | 31 | or: |
30 | 32 | ||
31 | struct key *request_key_async_with_auxdata(const struct key_type *type, | 33 | struct key *request_key_async_with_auxdata(const struct key_type *type, |
32 | const char *description, | 34 | const char *description, |
33 | const char *callout_string, | 35 | const char *callout_info, |
36 | size_t callout_len, | ||
34 | void *aux); | 37 | void *aux); |
35 | 38 | ||
36 | Or by userspace invoking the request_key system call: | 39 | Or by userspace invoking the request_key system call: |
diff --git a/Documentation/keys.txt b/Documentation/keys.txt index 51652d39e61c..b82d38de8b89 100644 --- a/Documentation/keys.txt +++ b/Documentation/keys.txt | |||
@@ -771,7 +771,7 @@ payload contents" for more information. | |||
771 | 771 | ||
772 | struct key *request_key(const struct key_type *type, | 772 | struct key *request_key(const struct key_type *type, |
773 | const char *description, | 773 | const char *description, |
774 | const char *callout_string); | 774 | const char *callout_info); |
775 | 775 | ||
776 | This is used to request a key or keyring with a description that matches | 776 | This is used to request a key or keyring with a description that matches |
777 | the description specified according to the key type's match function. This | 777 | the description specified according to the key type's match function. This |
@@ -793,24 +793,28 @@ payload contents" for more information. | |||
793 | 793 | ||
794 | struct key *request_key_with_auxdata(const struct key_type *type, | 794 | struct key *request_key_with_auxdata(const struct key_type *type, |
795 | const char *description, | 795 | const char *description, |
796 | const char *callout_string, | 796 | const void *callout_info, |
797 | size_t callout_len, | ||
797 | void *aux); | 798 | void *aux); |
798 | 799 | ||
799 | This is identical to request_key(), except that the auxiliary data is | 800 | This is identical to request_key(), except that the auxiliary data is |
800 | passed to the key_type->request_key() op if it exists. | 801 | passed to the key_type->request_key() op if it exists, and the callout_info |
802 | is a blob of length callout_len, if given (the length may be 0). | ||
801 | 803 | ||
802 | 804 | ||
803 | (*) A key can be requested asynchronously by calling one of: | 805 | (*) A key can be requested asynchronously by calling one of: |
804 | 806 | ||
805 | struct key *request_key_async(const struct key_type *type, | 807 | struct key *request_key_async(const struct key_type *type, |
806 | const char *description, | 808 | const char *description, |
807 | const char *callout_string); | 809 | const void *callout_info, |
810 | size_t callout_len); | ||
808 | 811 | ||
809 | or: | 812 | or: |
810 | 813 | ||
811 | struct key *request_key_async_with_auxdata(const struct key_type *type, | 814 | struct key *request_key_async_with_auxdata(const struct key_type *type, |
812 | const char *description, | 815 | const char *description, |
813 | const char *callout_string, | 816 | const char *callout_info, |
817 | size_t callout_len, | ||
814 | void *aux); | 818 | void *aux); |
815 | 819 | ||
816 | which are asynchronous equivalents of request_key() and | 820 | which are asynchronous equivalents of request_key() and |