[PATCH] keys: sort out key quota system
Add the ability for key creation to overrun the user's quota in some circumstances - notably when a session keyring is created and assigned to a process that didn't previously have one. This means it's still possible to log in, should PAM require the creation of a new session keyring, and fix an overburdened key quota. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:

committed by
Linus Torvalds

parent
f116629d03
commit
7e047ef5fe
@@ -240,7 +240,7 @@ static long keyring_read(const struct key *keyring,
|
||||
* allocate a keyring and link into the destination keyring
|
||||
*/
|
||||
struct key *keyring_alloc(const char *description, uid_t uid, gid_t gid,
|
||||
struct task_struct *ctx, int not_in_quota,
|
||||
struct task_struct *ctx, unsigned long flags,
|
||||
struct key *dest)
|
||||
{
|
||||
struct key *keyring;
|
||||
@@ -249,7 +249,7 @@ struct key *keyring_alloc(const char *description, uid_t uid, gid_t gid,
|
||||
keyring = key_alloc(&key_type_keyring, description,
|
||||
uid, gid, ctx,
|
||||
(KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL,
|
||||
not_in_quota);
|
||||
flags);
|
||||
|
||||
if (!IS_ERR(keyring)) {
|
||||
ret = key_instantiate_and_link(keyring, NULL, 0, dest, NULL);
|
||||
|
Reference in New Issue
Block a user