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>
Esse commit está contido em:
@@ -109,7 +109,8 @@ extern int install_process_keyring(struct task_struct *tsk);
|
||||
|
||||
extern struct key *request_key_and_link(struct key_type *type,
|
||||
const char *description,
|
||||
const char *callout_info,
|
||||
const void *callout_info,
|
||||
size_t callout_len,
|
||||
void *aux,
|
||||
struct key *dest_keyring,
|
||||
unsigned long flags);
|
||||
@@ -120,13 +121,15 @@ extern struct key *request_key_and_link(struct key_type *type,
|
||||
struct request_key_auth {
|
||||
struct key *target_key;
|
||||
struct task_struct *context;
|
||||
char *callout_info;
|
||||
void *callout_info;
|
||||
size_t callout_len;
|
||||
pid_t pid;
|
||||
};
|
||||
|
||||
extern struct key_type key_type_request_key_auth;
|
||||
extern struct key *request_key_auth_new(struct key *target,
|
||||
const char *callout_info);
|
||||
const void *callout_info,
|
||||
size_t callout_len);
|
||||
|
||||
extern struct key *key_get_instantiation_authkey(key_serial_t target_id);
|
||||
|
||||
|
Referência em uma nova issue
Block a user