security: Add a cred_getsecid hook
For IMA purposes, we want to be able to obtain the prepared secid in the bprm structure before the credentials are committed. Add a cred_getsecid hook that makes this possible. Signed-off-by: Matthew Garrett <mjg59@google.com> Acked-by: Paul Moore <paul@paul-moore.com> Cc: Paul Moore <paul@paul-moore.com> Cc: Stephen Smalley <sds@tycho.nsa.gov> Cc: Casey Schaufler <casey@schaufler-ca.com> Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
This commit is contained in:

committed by
Mimi Zohar

parent
5893ed18a2
commit
3ec3011326
@@ -554,6 +554,10 @@
|
||||
* @new points to the new credentials.
|
||||
* @old points to the original credentials.
|
||||
* Transfer data from original creds to new creds
|
||||
* @cred_getsecid:
|
||||
* Retrieve the security identifier of the cred structure @c
|
||||
* @c contains the credentials, secid will be placed into @secid.
|
||||
* In case of failure, @secid will be set to zero.
|
||||
* @kernel_act_as:
|
||||
* Set the credentials for a kernel service to act as (subjective context).
|
||||
* @new points to the credentials to be modified.
|
||||
@@ -1542,6 +1546,7 @@ union security_list_options {
|
||||
int (*cred_prepare)(struct cred *new, const struct cred *old,
|
||||
gfp_t gfp);
|
||||
void (*cred_transfer)(struct cred *new, const struct cred *old);
|
||||
void (*cred_getsecid)(const struct cred *c, u32 *secid);
|
||||
int (*kernel_act_as)(struct cred *new, u32 secid);
|
||||
int (*kernel_create_files_as)(struct cred *new, struct inode *inode);
|
||||
int (*kernel_module_request)(char *kmod_name);
|
||||
@@ -1825,6 +1830,7 @@ struct security_hook_heads {
|
||||
struct list_head cred_free;
|
||||
struct list_head cred_prepare;
|
||||
struct list_head cred_transfer;
|
||||
struct list_head cred_getsecid;
|
||||
struct list_head kernel_act_as;
|
||||
struct list_head kernel_create_files_as;
|
||||
struct list_head kernel_read_file;
|
||||
|
Reference in New Issue
Block a user