return request_key(type, "_pag", NULL);
}
# endif /* STRUCT_TASK_STRUCT_HAS_CRED */
+
+static_inline struct key *
+afs_set_session_keyring(struct key *keyring)
+{
+ struct key *old;
+#if defined(STRUCT_CRED_HAS_SESSION_KEYRING)
+ struct cred *new_creds;
+ old = current_session_keyring();
+ new_creds = prepare_creds();
+ rcu_assign_pointer(new_creds->session_keyring, keyring);
+ commit_creds(new_creds);
+#else
+ spin_lock_irq(¤t->sighand->siglock);
+ old = task_session_keyring(current);
+ smp_wmb();
+ task_session_keyring(current) = keyring;
+ spin_unlock_irq(¤t->sighand->siglock);
+#endif
+ return old;
+}
#endif /* LINUX_KEYRING_SUPPORT */
#ifdef STRUCT_TASK_STRUCT_HAS_CRED
}
#endif
-static_inline struct key *
-afs_set_session_keyring(struct key *keyring)
-{
- struct key *old;
-#if defined(STRUCT_CRED_HAS_SESSION_KEYRING)
- struct cred *new_creds;
- old = current_session_keyring();
- new_creds = prepare_creds();
- rcu_assign_pointer(new_creds->session_keyring, keyring);
- commit_creds(new_creds);
-#else
- spin_lock_irq(¤t->sighand->siglock);
- old = task_session_keyring(current);
- smp_wmb();
- task_session_keyring(current) = keyring;
- spin_unlock_irq(¤t->sighand->siglock);
-#endif
- return old;
-}
-
static inline int
afs_truncate(struct inode *inode, int len)
{