KEYS: Disperse linux/key_ui.h
[linux-2.6.git] / security / keys / request_key.c
index ba32ca6..91953c8 100644 (file)
@@ -19,6 +19,8 @@
 #include <linux/slab.h>
 #include "internal.h"
 
+#define key_negative_timeout   60      /* default timeout on a negative key's existence */
+
 /*
  * wait_on_bit() sleep function for uninterruptible waiting
  */
@@ -77,7 +79,7 @@ static int call_sbin_request_key(struct key_construction *cons,
        /* allocate a new session keyring */
        sprintf(desc, "_req.%u", key->serial);
 
-       keyring = keyring_alloc(desc, current->fsuid, current->fsgid, current,
+       keyring = keyring_alloc(desc, current_fsuid(), current_fsgid(), current,
                                KEY_ALLOC_QUOTA_OVERRUN, NULL);
        if (IS_ERR(keyring)) {
                ret = PTR_ERR(keyring);
@@ -90,8 +92,8 @@ static int call_sbin_request_key(struct key_construction *cons,
                goto error_link;
 
        /* record the UID and GID */
-       sprintf(uid_str, "%d", current->fsuid);
-       sprintf(gid_str, "%d", current->fsgid);
+       sprintf(uid_str, "%d", current_fsuid());
+       sprintf(gid_str, "%d", current_fsgid());
 
        /* we say which key is under construction */
        sprintf(key_str, "%d", key->serial);
@@ -279,7 +281,7 @@ static int construct_alloc_key(struct key_type *type,
        mutex_lock(&user->cons_lock);
 
        key = key_alloc(type, description,
-                       current->fsuid, current->fsgid, current, KEY_POS_ALL,
+                       current_fsuid(), current_fsgid(), current, KEY_POS_ALL,
                        flags);
        if (IS_ERR(key))
                goto alloc_failed;
@@ -342,7 +344,7 @@ static struct key *construct_key_and_link(struct key_type *type,
        struct key *key;
        int ret;
 
-       user = key_user_lookup(current->fsuid);
+       user = key_user_lookup(current_fsuid());
        if (!user)
                return ERR_PTR(-ENOMEM);