aboutsummaryrefslogtreecommitdiffstats
path: root/security/security.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/security.c')
-rw-r--r--security/security.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/security/security.c b/security/security.c
index 613a5c00e602..47e5849d7557 100644
--- a/security/security.c
+++ b/security/security.c
@@ -39,7 +39,7 @@
39#define LSM_COUNT (__end_lsm_info - __start_lsm_info) 39#define LSM_COUNT (__end_lsm_info - __start_lsm_info)
40 40
41struct security_hook_heads security_hook_heads __lsm_ro_after_init; 41struct security_hook_heads security_hook_heads __lsm_ro_after_init;
42static ATOMIC_NOTIFIER_HEAD(lsm_notifier_chain); 42static BLOCKING_NOTIFIER_HEAD(blocking_lsm_notifier_chain);
43 43
44static struct kmem_cache *lsm_file_cache; 44static struct kmem_cache *lsm_file_cache;
45static struct kmem_cache *lsm_inode_cache; 45static struct kmem_cache *lsm_inode_cache;
@@ -430,23 +430,26 @@ void __init security_add_hooks(struct security_hook_list *hooks, int count,
430 panic("%s - Cannot get early memory.\n", __func__); 430 panic("%s - Cannot get early memory.\n", __func__);
431} 431}
432 432
433int call_lsm_notifier(enum lsm_event event, void *data) 433int call_blocking_lsm_notifier(enum lsm_event event, void *data)
434{ 434{
435 return atomic_notifier_call_chain(&lsm_notifier_chain, event, data); 435 return blocking_notifier_call_chain(&blocking_lsm_notifier_chain,
436 event, data);
436} 437}
437EXPORT_SYMBOL(call_lsm_notifier); 438EXPORT_SYMBOL(call_blocking_lsm_notifier);
438 439
439int register_lsm_notifier(struct notifier_block *nb) 440int register_blocking_lsm_notifier(struct notifier_block *nb)
440{ 441{
441 return atomic_notifier_chain_register(&lsm_notifier_chain, nb); 442 return blocking_notifier_chain_register(&blocking_lsm_notifier_chain,
443 nb);
442} 444}
443EXPORT_SYMBOL(register_lsm_notifier); 445EXPORT_SYMBOL(register_blocking_lsm_notifier);
444 446
445int unregister_lsm_notifier(struct notifier_block *nb) 447int unregister_blocking_lsm_notifier(struct notifier_block *nb)
446{ 448{
447 return atomic_notifier_chain_unregister(&lsm_notifier_chain, nb); 449 return blocking_notifier_chain_unregister(&blocking_lsm_notifier_chain,
450 nb);
448} 451}
449EXPORT_SYMBOL(unregister_lsm_notifier); 452EXPORT_SYMBOL(unregister_blocking_lsm_notifier);
450 453
451/** 454/**
452 * lsm_cred_alloc - allocate a composite cred blob 455 * lsm_cred_alloc - allocate a composite cred blob