static struct key_type *__key_type_keyring = &key_type_keyring;
static int
-install_session_keyring(struct task_struct *task, struct key *keyring)
+install_session_keyring(struct key *keyring)
{
struct key *old;
char desc[20];
/* create an empty session keyring */
not_in_quota = KEY_ALLOC_IN_QUOTA;
- sprintf(desc, "_ses.%u", task->tgid);
+ sprintf(desc, "_ses.%u", current->tgid);
#if defined(KEY_ALLOC_NEEDS_STRUCT_TASK)
keyring = key_alloc(__key_type_keyring, desc,
- task_uid(task), task_gid(task), task,
+ current_uid(), current_gid(), current,
(KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL,
not_in_quota);
#elif defined(KEY_ALLOC_NEEDS_CRED)
keyring = key_alloc(__key_type_keyring, desc,
- task_uid(task), task_gid(task), current_cred(),
+ current_uid(), current_gid(), current_cred(),
(KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL,
not_in_quota);
#else
keyring = key_alloc(__key_type_keyring, desc,
- task_uid(task), task_gid(task),
+ current_uid(), current_gid(),
(KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL,
not_in_quota);
#endif
}
/* install the keyring */
- spin_lock_irq(&task->sighand->siglock);
- old = task_session_keyring(task);
+ spin_lock_irq(¤t->sighand->siglock);
+ old = task_session_keyring(current);
smp_wmb();
- task_session_keyring(task) = keyring;
- spin_unlock_irq(&task->sighand->siglock);
+ task_session_keyring(current) = keyring;
+ spin_unlock_irq(¤t->sighand->siglock);
if (old)
key_put(old);
#if defined(EXPORTED_FIND_TASK_BY_PID)
p = find_task_by_pid(1);
#else
+ p = pid_task(1, PIDTYPE_PID);
+/*
p = find_task_by_vpid(1);
+*/
#endif
if (p && task_user(p)->session_keyring)
__key_type_keyring = task_user(p)->session_keyring->type;
void
afs_osi_TraverseProcTable()
{
-#if !defined(LINUX_KEYRING_SUPPORT)
+#if !defined(LINUX_KEYRING_SUPPORT) && (!defined(STRUCT_TASK_HAS_CRED) || defined(EXPORTED_RCU_READ_LOCK))
struct task_struct *p;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK)
return rv;
}
#elif defined(AFS_LINUX22_ENV)
+#if !defined(LINUX_KEYRING_SUPPORT) && (!defined(STRUCT_TASK_HAS_CRED) || defined(EXPORTED_RCU_READ_LOCK))
const struct AFS_UCRED *
afs_osi_proc2cred(AFS_PROC * pr)
{
return rv;
}
+#endif
#else
const struct AFS_UCRED *
afs_osi_proc2cred(AFS_PROC * pr)
return rv;
}
#endif
+#endif
#endif /* AFS_GCPAGS */