]> err.no Git - linux-2.6/blobdiff - include/linux/key.h
[PATCH] cpuset semaphore depth check optimize
[linux-2.6] / include / linux / key.h
index 2c24ffaca86fd9af5d44c16dd7aa55083a8c27ac..970bbd916cf44a4b32bf5b1ea0005483b1f52c32 100644 (file)
@@ -199,10 +199,12 @@ extern int key_payload_reserve(struct key *key, size_t datalen);
 extern int key_instantiate_and_link(struct key *key,
                                    const void *data,
                                    size_t datalen,
-                                   struct key *keyring);
+                                   struct key *keyring,
+                                   struct key *instkey);
 extern int key_negate_and_link(struct key *key,
                               unsigned timeout,
-                              struct key *keyring);
+                              struct key *keyring,
+                              struct key *instkey);
 extern void key_revoke(struct key *key);
 extern void key_put(struct key *key);
 
@@ -245,9 +247,6 @@ extern struct key *keyring_search(struct key *keyring,
                                  struct key_type *type,
                                  const char *description);
 
-extern struct key *search_process_keyrings(struct key_type *type,
-                                          const char *description);
-
 extern int keyring_add_key(struct key *keyring,
                           struct key *key);
 
@@ -273,14 +272,22 @@ extern void key_fsuid_changed(struct task_struct *tsk);
 extern void key_fsgid_changed(struct task_struct *tsk);
 extern void key_init(void);
 
+#define __install_session_keyring(tsk, keyring)                        \
+({                                                             \
+       struct key *old_session = tsk->signal->session_keyring; \
+       tsk->signal->session_keyring = keyring;                 \
+       old_session;                                            \
+})
+
 #else /* CONFIG_KEYS */
 
 #define key_validate(k)                        0
 #define key_serial(k)                  0
-#define key_get(k)                     NULL
+#define key_get(k)                     ({ NULL; })
 #define key_put(k)                     do { } while(0)
 #define alloc_uid_keyring(u)           0
 #define switch_uid_keyring(u)          do { } while(0)
+#define __install_session_keyring(t, k)        ({ NULL; })
 #define copy_keys(f,t)                 0
 #define copy_thread_group_keys(t)      0
 #define exit_keys(t)                   do { } while(0)