aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys
diff options
context:
space:
mode:
authorJames Morris <james.l.morris@oracle.com>2014-11-19 05:32:12 -0500
committerJames Morris <james.l.morris@oracle.com>2014-11-19 05:32:12 -0500
commitb10778a00d40b3d9fdaaf5891e802794781ff71c (patch)
tree6ba4cbac86eecedc3f30650e7f764ecf00c83898 /security/keys
parent594081ee7145cc30a3977cb4e218f81213b63dc5 (diff)
parentbfe01a5ba2490f299e1d2d5508cbbbadd897bbe9 (diff)
Merge commit 'v3.17' into next
Diffstat (limited to 'security/keys')
-rw-r--r--security/keys/gc.c11
-rw-r--r--security/keys/key.c4
-rw-r--r--security/keys/request_key.c23
3 files changed, 5 insertions, 33 deletions
diff --git a/security/keys/gc.c b/security/keys/gc.c
index d3222b6d7d59..9609a7f0faea 100644
--- a/security/keys/gc.c
+++ b/security/keys/gc.c
@@ -92,15 +92,6 @@ static void key_gc_timer_func(unsigned long data)
92} 92}
93 93
94/* 94/*
95 * wait_on_bit() sleep function for uninterruptible waiting
96 */
97static int key_gc_wait_bit(void *flags)
98{
99 schedule();
100 return 0;
101}
102
103/*
104 * Reap keys of dead type. 95 * Reap keys of dead type.
105 * 96 *
106 * We use three flags to make sure we see three complete cycles of the garbage 97 * We use three flags to make sure we see three complete cycles of the garbage
@@ -123,7 +114,7 @@ void key_gc_keytype(struct key_type *ktype)
123 schedule_work(&key_gc_work); 114 schedule_work(&key_gc_work);
124 115
125 kdebug("sleep"); 116 kdebug("sleep");
126 wait_on_bit(&key_gc_flags, KEY_GC_REAPING_KEYTYPE, key_gc_wait_bit, 117 wait_on_bit(&key_gc_flags, KEY_GC_REAPING_KEYTYPE,
127 TASK_UNINTERRUPTIBLE); 118 TASK_UNINTERRUPTIBLE);
128 119
129 key_gc_dead_keytype = NULL; 120 key_gc_dead_keytype = NULL;
diff --git a/security/keys/key.c b/security/keys/key.c
index 8c0092ca0443..e17ba6aefdc0 100644
--- a/security/keys/key.c
+++ b/security/keys/key.c
@@ -27,8 +27,8 @@ DEFINE_SPINLOCK(key_serial_lock);
27struct rb_root key_user_tree; /* tree of quota records indexed by UID */ 27struct rb_root key_user_tree; /* tree of quota records indexed by UID */
28DEFINE_SPINLOCK(key_user_lock); 28DEFINE_SPINLOCK(key_user_lock);
29 29
30unsigned int key_quota_root_maxkeys = 200; /* root's key count quota */ 30unsigned int key_quota_root_maxkeys = 1000000; /* root's key count quota */
31unsigned int key_quota_root_maxbytes = 20000; /* root's key space quota */ 31unsigned int key_quota_root_maxbytes = 25000000; /* root's key space quota */
32unsigned int key_quota_maxkeys = 200; /* general key count quota */ 32unsigned int key_quota_maxkeys = 200; /* general key count quota */
33unsigned int key_quota_maxbytes = 20000; /* general key space quota */ 33unsigned int key_quota_maxbytes = 20000; /* general key space quota */
34 34
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index dc6ed32b7844..bb4337c7ae1b 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -21,24 +21,6 @@
21 21
22#define key_negative_timeout 60 /* default timeout on a negative key's existence */ 22#define key_negative_timeout 60 /* default timeout on a negative key's existence */
23 23
24/*
25 * wait_on_bit() sleep function for uninterruptible waiting
26 */
27static int key_wait_bit(void *flags)
28{
29 schedule();
30 return 0;
31}
32
33/*
34 * wait_on_bit() sleep function for interruptible waiting
35 */
36static int key_wait_bit_intr(void *flags)
37{
38 schedule();
39 return signal_pending(current) ? -ERESTARTSYS : 0;
40}
41
42/** 24/**
43 * complete_request_key - Complete the construction of a key. 25 * complete_request_key - Complete the construction of a key.
44 * @cons: The key construction record. 26 * @cons: The key construction record.
@@ -603,10 +585,9 @@ int wait_for_key_construction(struct key *key, bool intr)
603 int ret; 585 int ret;
604 586
605 ret = wait_on_bit(&key->flags, KEY_FLAG_USER_CONSTRUCT, 587 ret = wait_on_bit(&key->flags, KEY_FLAG_USER_CONSTRUCT,
606 intr ? key_wait_bit_intr : key_wait_bit,
607 intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE); 588 intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
608 if (ret < 0) 589 if (ret)
609 return ret; 590 return -ERESTARTSYS;
610 if (test_bit(KEY_FLAG_NEGATIVE, &key->flags)) { 591 if (test_bit(KEY_FLAG_NEGATIVE, &key->flags)) {
611 smp_rmb(); 592 smp_rmb();
612 return key->type_data.reject_error; 593 return key->type_data.reject_error;