diff options
Diffstat (limited to 'security/keys/process_keys.c')
-rw-r--r-- | security/keys/process_keys.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index 930634e45149..6c0480db8885 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c | |||
@@ -331,6 +331,7 @@ void key_fsgid_changed(struct task_struct *tsk) | |||
331 | key_ref_t search_my_process_keyrings(struct key_type *type, | 331 | key_ref_t search_my_process_keyrings(struct key_type *type, |
332 | const void *description, | 332 | const void *description, |
333 | key_match_func_t match, | 333 | key_match_func_t match, |
334 | bool no_state_check, | ||
334 | const struct cred *cred) | 335 | const struct cred *cred) |
335 | { | 336 | { |
336 | key_ref_t key_ref, ret, err; | 337 | key_ref_t key_ref, ret, err; |
@@ -350,7 +351,7 @@ key_ref_t search_my_process_keyrings(struct key_type *type, | |||
350 | if (cred->thread_keyring) { | 351 | if (cred->thread_keyring) { |
351 | key_ref = keyring_search_aux( | 352 | key_ref = keyring_search_aux( |
352 | make_key_ref(cred->thread_keyring, 1), | 353 | make_key_ref(cred->thread_keyring, 1), |
353 | cred, type, description, match); | 354 | cred, type, description, match, no_state_check); |
354 | if (!IS_ERR(key_ref)) | 355 | if (!IS_ERR(key_ref)) |
355 | goto found; | 356 | goto found; |
356 | 357 | ||
@@ -371,7 +372,7 @@ key_ref_t search_my_process_keyrings(struct key_type *type, | |||
371 | if (cred->tgcred->process_keyring) { | 372 | if (cred->tgcred->process_keyring) { |
372 | key_ref = keyring_search_aux( | 373 | key_ref = keyring_search_aux( |
373 | make_key_ref(cred->tgcred->process_keyring, 1), | 374 | make_key_ref(cred->tgcred->process_keyring, 1), |
374 | cred, type, description, match); | 375 | cred, type, description, match, no_state_check); |
375 | if (!IS_ERR(key_ref)) | 376 | if (!IS_ERR(key_ref)) |
376 | goto found; | 377 | goto found; |
377 | 378 | ||
@@ -395,7 +396,7 @@ key_ref_t search_my_process_keyrings(struct key_type *type, | |||
395 | make_key_ref(rcu_dereference( | 396 | make_key_ref(rcu_dereference( |
396 | cred->tgcred->session_keyring), | 397 | cred->tgcred->session_keyring), |
397 | 1), | 398 | 1), |
398 | cred, type, description, match); | 399 | cred, type, description, match, no_state_check); |
399 | rcu_read_unlock(); | 400 | rcu_read_unlock(); |
400 | 401 | ||
401 | if (!IS_ERR(key_ref)) | 402 | if (!IS_ERR(key_ref)) |
@@ -417,7 +418,7 @@ key_ref_t search_my_process_keyrings(struct key_type *type, | |||
417 | else if (cred->user->session_keyring) { | 418 | else if (cred->user->session_keyring) { |
418 | key_ref = keyring_search_aux( | 419 | key_ref = keyring_search_aux( |
419 | make_key_ref(cred->user->session_keyring, 1), | 420 | make_key_ref(cred->user->session_keyring, 1), |
420 | cred, type, description, match); | 421 | cred, type, description, match, no_state_check); |
421 | if (!IS_ERR(key_ref)) | 422 | if (!IS_ERR(key_ref)) |
422 | goto found; | 423 | goto found; |
423 | 424 | ||
@@ -459,7 +460,8 @@ key_ref_t search_process_keyrings(struct key_type *type, | |||
459 | 460 | ||
460 | might_sleep(); | 461 | might_sleep(); |
461 | 462 | ||
462 | key_ref = search_my_process_keyrings(type, description, match, cred); | 463 | key_ref = search_my_process_keyrings(type, description, match, |
464 | false, cred); | ||
463 | if (!IS_ERR(key_ref)) | 465 | if (!IS_ERR(key_ref)) |
464 | goto found; | 466 | goto found; |
465 | err = key_ref; | 467 | err = key_ref; |