linux-sg2042/security/keys
David Howells 3b6e4de05e keys: Include target namespace in match criteria
Currently a key has a standard matching criteria of { type, description }
and this is used to only allow keys with unique criteria in a keyring.
This means, however, that you cannot have keys with the same type and
description but a different target namespace in the same keyring.

This is a potential problem for a containerised environment where, say, a
container is made up of some parts of its mount space involving netfs
superblocks from two different network namespaces.

This is also a problem for shared system management keyrings such as the
DNS records keyring or the NFS idmapper keyring that might contain keys
from different network namespaces.

Fix this by including a namespace component in a key's matching criteria.
Keyring types are marked to indicate which, if any, namespace is relevant
to keys of that type, and that namespace is set when the key is created
from the current task's namespace set.

The capability bit KEYCTL_CAPS1_NS_KEY_TAG is set if the kernel is
employing this feature.

Signed-off-by: David Howells <dhowells@redhat.com>
2019-06-26 21:02:32 +01:00
..
encrypted-keys crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
Kconfig keys: Cache result of request_key*() temporarily in task_struct 2019-06-19 16:10:15 +01:00
Makefile KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2] 2018-10-26 09:30:46 +01:00
big_key.c big key: get rid of stack array allocation 2018-05-11 13:07:45 -07:00
compat.c keys: Add capability-checking keyctl function 2019-06-19 13:27:45 +01:00
compat_dh.c KEYS: DH: validate __spare field 2017-07-14 11:01:38 +10:00
dh.c crypto: shash - remove shash_desc::flags 2019-04-25 15:38:12 +08:00
gc.c keys: Include target namespace in match criteria 2019-06-26 21:02:32 +01:00
internal.h keys: Move the user and user-session keyrings to the user_namespace 2019-06-26 21:02:32 +01:00
key.c keys: Include target namespace in match criteria 2019-06-26 21:02:32 +01:00
keyctl.c keys: Include target namespace in match criteria 2019-06-26 21:02:32 +01:00
keyctl_pkey.c KEYS: fix parsing invalid pkey info string 2019-01-01 13:13:19 -08:00
keyring.c keys: Include target namespace in match criteria 2019-06-26 21:02:32 +01:00
permission.c security: audit and remove any unnecessary uses of module.h 2018-12-12 14:58:51 -08:00
persistent.c keys: Include target namespace in match criteria 2019-06-26 21:02:32 +01:00
proc.c keys: Add a 'recurse' flag for keyring searches 2019-06-26 21:02:32 +01:00
process_keys.c keys: Move the user and user-session keyrings to the user_namespace 2019-06-26 21:02:32 +01:00
request_key.c keys: Move the user and user-session keyrings to the user_namespace 2019-06-26 21:02:32 +01:00
request_key_auth.c keys: Add a 'recurse' flag for keyring searches 2019-06-26 21:02:32 +01:00
sysctl.c security: Convert use of typedef ctl_table to struct ctl_table 2014-04-15 13:39:58 +10:00
trusted.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-05-06 20:15:06 -07:00
user_defined.c security: audit and remove any unnecessary uses of module.h 2018-12-12 14:58:51 -08:00