[PATCH] Link user keyrings together correctly

From: David Howells
Date: Thu Sep 23 2004 - 04:50:14 EST



The attached patch causes the per-user keyring to be linked into the user's
default session keyring rather than the other way around.

Signed-Off-By: David Howells <dhowells@xxxxxxxxxx>
---

process_keys.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)

diff -uNrp linux-2.6.9-rc2-mm1/security/keys/process_keys.c linux-2.6.9-rc2-mm1-afskey/security/keys/process_keys.c
--- linux-2.6.9-rc2-mm1/security/keys/process_keys.c 2004-09-16 12:09:57.000000000 +0100
+++ linux-2.6.9-rc2-mm1-afskey/security/keys/process_keys.c 2004-09-22 14:25:20.000000000 +0100
@@ -74,24 +74,24 @@ int alloc_uid_keyring(struct user_struct
char buf[20];
int ret;

- /* concoct a UID specific keyring */
- sprintf(buf, "_uid.%u", user->uid);
+ /* concoct a default session keyring */
+ sprintf(buf, "_uid_ses.%u", user->uid);

- uid_keyring = keyring_alloc(buf, user->uid, (gid_t) -1, 0, NULL);
- if (IS_ERR(uid_keyring)) {
- ret = PTR_ERR(uid_keyring);
+ session_keyring = keyring_alloc(buf, user->uid, (gid_t) -1, 0, NULL);
+ if (IS_ERR(session_keyring)) {
+ ret = PTR_ERR(session_keyring);
goto error;
}

- /* and a default session keyring with a pointer to the UID specific
+ /* and a UID specific keyring, pointed to by the default session
* keyring */
- sprintf(buf, "_uid_ses.%u", user->uid);
+ sprintf(buf, "_uid.%u", user->uid);

- session_keyring = keyring_alloc(buf, user->uid, (gid_t) -1, 0,
- uid_keyring);
- if (IS_ERR(session_keyring)) {
- key_put(uid_keyring);
- ret = PTR_ERR(session_keyring);
+ uid_keyring = keyring_alloc(buf, user->uid, (gid_t) -1, 0,
+ session_keyring);
+ if (IS_ERR(uid_keyring)) {
+ key_put(session_keyring);
+ ret = PTR_ERR(uid_keyring);
goto error;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/