[PATCH] selinux: add hooks for key subsystem
Introduce SELinux hooks to support the access key retention subsystem within the kernel. Incorporate new flask headers from a modified version of the SELinux reference policy, with support for the new security class representing retained keys. Extend the "key_alloc" security hook with a task parameter representing the intended ownership context for the key being allocated. Attach security information to root's default keyrings within the SELinux initialization routine. Has passed David's testsuite. Signed-off-by: Michael LeMay <mdlemay@epoch.ncsc.mil> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: James Morris <jmorris@namei.org> Acked-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
f893afbe12
commit
d720024e94
16 changed files with 155 additions and 27 deletions
|
|
@ -247,8 +247,8 @@ static inline void key_alloc_serial(struct key *key)
|
|||
* instantiate the key or discard it before returning
|
||||
*/
|
||||
struct key *key_alloc(struct key_type *type, const char *desc,
|
||||
uid_t uid, gid_t gid, key_perm_t perm,
|
||||
int not_in_quota)
|
||||
uid_t uid, gid_t gid, struct task_struct *ctx,
|
||||
key_perm_t perm, int not_in_quota)
|
||||
{
|
||||
struct key_user *user = NULL;
|
||||
struct key *key;
|
||||
|
|
@ -318,7 +318,7 @@ struct key *key_alloc(struct key_type *type, const char *desc,
|
|||
#endif
|
||||
|
||||
/* let the security module know about the key */
|
||||
ret = security_key_alloc(key);
|
||||
ret = security_key_alloc(key, ctx);
|
||||
if (ret < 0)
|
||||
goto security_error;
|
||||
|
||||
|
|
@ -822,7 +822,7 @@ key_ref_t key_create_or_update(key_ref_t keyring_ref,
|
|||
|
||||
/* allocate a new key */
|
||||
key = key_alloc(ktype, description, current->fsuid, current->fsgid,
|
||||
perm, not_in_quota);
|
||||
current, perm, not_in_quota);
|
||||
if (IS_ERR(key)) {
|
||||
key_ref = ERR_PTR(PTR_ERR(key));
|
||||
goto error_3;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue