aboutsummaryrefslogtreecommitdiffstats
path: root/security/keys/request_key.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-03-07 14:44:01 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2019-03-07 14:44:01 -0500
commitae5906ceee038ea29ff5162d1bcd18fb50af8b94 (patch)
tree841a11c6d3c3afcf7e4d57be370ebcf57aab214a /security/keys/request_key.c
parent1fc1cd8399ab5541a488a7e47b2f21537dd76c2d (diff)
parent468e91cecb3218afd684b8c422490dfebe0691bb (diff)
Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem updates from James Morris: - Extend LSM stacking to allow sharing of cred, file, ipc, inode, and task blobs. This paves the way for more full-featured LSMs to be merged, and is specifically aimed at LandLock and SARA LSMs. This work is from Casey and Kees. - There's a new LSM from Micah Morton: "SafeSetID gates the setid family of syscalls to restrict UID/GID transitions from a given UID/GID to only those approved by a system-wide whitelist." This feature is currently shipping in ChromeOS. * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (62 commits) keys: fix missing __user in KEYCTL_PKEY_QUERY LSM: Update list of SECURITYFS users in Kconfig LSM: Ignore "security=" when "lsm=" is specified LSM: Update function documentation for cap_capable security: mark expected switch fall-throughs and add a missing break tomoyo: Bump version. LSM: fix return value check in safesetid_init_securityfs() LSM: SafeSetID: add selftest LSM: SafeSetID: remove unused include LSM: SafeSetID: 'depend' on CONFIG_SECURITY LSM: Add 'name' field for SafeSetID in DEFINE_LSM LSM: add SafeSetID module that gates setid calls LSM: add SafeSetID module that gates setid calls tomoyo: Allow multiple use_group lines. tomoyo: Coding style fix. tomoyo: Swicth from cred->security to task_struct->security. security: keys: annotate implicit fall throughs security: keys: annotate implicit fall throughs security: keys: annotate implicit fall through capabilities:: annotate implicit fall through ...
Diffstat (limited to 'security/keys/request_key.c')
-rw-r--r--security/keys/request_key.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/security/keys/request_key.c b/security/keys/request_key.c
index 7a0c6b666ff0..2f17d84d46f1 100644
--- a/security/keys/request_key.c
+++ b/security/keys/request_key.c
@@ -273,16 +273,19 @@ static int construct_get_dest_keyring(struct key **_dest_keyring)
273 } 273 }
274 } 274 }
275 275
276 /* fall through */
276 case KEY_REQKEY_DEFL_THREAD_KEYRING: 277 case KEY_REQKEY_DEFL_THREAD_KEYRING:
277 dest_keyring = key_get(cred->thread_keyring); 278 dest_keyring = key_get(cred->thread_keyring);
278 if (dest_keyring) 279 if (dest_keyring)
279 break; 280 break;
280 281
282 /* fall through */
281 case KEY_REQKEY_DEFL_PROCESS_KEYRING: 283 case KEY_REQKEY_DEFL_PROCESS_KEYRING:
282 dest_keyring = key_get(cred->process_keyring); 284 dest_keyring = key_get(cred->process_keyring);
283 if (dest_keyring) 285 if (dest_keyring)
284 break; 286 break;
285 287
288 /* fall through */
286 case KEY_REQKEY_DEFL_SESSION_KEYRING: 289 case KEY_REQKEY_DEFL_SESSION_KEYRING:
287 rcu_read_lock(); 290 rcu_read_lock();
288 dest_keyring = key_get( 291 dest_keyring = key_get(
@@ -292,6 +295,7 @@ static int construct_get_dest_keyring(struct key **_dest_keyring)
292 if (dest_keyring) 295 if (dest_keyring)
293 break; 296 break;
294 297
298 /* fall through */
295 case KEY_REQKEY_DEFL_USER_SESSION_KEYRING: 299 case KEY_REQKEY_DEFL_USER_SESSION_KEYRING:
296 dest_keyring = 300 dest_keyring =
297 key_get(cred->user->session_keyring); 301 key_get(cred->user->session_keyring);