summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-03-25 03:06:51 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-25 08:22:50 -0800
commit3dccff8dc00994428777f483922058c554db85bd (patch)
tree14c72fa82afa4e325c4aaa3f84c31ab154f60b1d
parenta7d06ca7b626c9257bee4439d9d80a7e44ae237e (diff)
downloadlinux-3.10-3dccff8dc00994428777f483922058c554db85bd.tar.gz
linux-3.10-3dccff8dc00994428777f483922058c554db85bd.tar.bz2
linux-3.10-3dccff8dc00994428777f483922058c554db85bd.zip
[PATCH] Keys: Fix key quota management on key allocation
Make key quota detection generate an error if either quota is exceeded rather than only if both quotas are exceeded. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--security/keys/key.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/security/keys/key.c b/security/keys/key.c
index 99781b79831..627697181e6 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -1,6 +1,6 @@
/* key.c: basic authentication token and access key management
*
- * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
+ * Copyright (C) 2004-6 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com)
*
* This program is free software; you can redistribute it and/or
@@ -271,7 +271,7 @@ struct key *key_alloc(struct key_type *type, const char *desc,
* its description */
if (!not_in_quota) {
spin_lock(&user->lock);
- if (user->qnkeys + 1 >= KEYQUOTA_MAX_KEYS &&
+ if (user->qnkeys + 1 >= KEYQUOTA_MAX_KEYS ||
user->qnbytes + quotalen >= KEYQUOTA_MAX_BYTES
)
goto no_quota;