keys: skip keys from another user namespace
authorSerge E. Hallyn <serue@us.ibm.com>
Fri, 27 Feb 2009 00:27:55 +0000 (18:27 -0600)
committerJames Morris <jmorris@namei.org>
Fri, 27 Feb 2009 01:35:12 +0000 (12:35 +1100)
When listing keys, do not return keys belonging to the
same uid in another user namespace.  Otherwise uid 500
in another user namespace will return keyrings called
uid.500 for another user namespace.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
security/keys/keyring.c

index ed85157..3dba81c 100644 (file)
@@ -539,6 +539,9 @@ struct key *find_keyring_by_name(const char *name, bool skip_perm_check)
                                    &keyring_name_hash[bucket],
                                    type_data.link
                                    ) {
+                       if (keyring->user->user_ns != current_user_ns())
+                               continue;
+
                        if (test_bit(KEY_FLAG_REVOKED, &keyring->flags))
                                continue;