summaryrefslogtreecommitdiffstats
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 f493db0bf62a..250ee2d76406 100644
--- a/security/security.c
+++ b/security/security.c
@@ -35,7 +35,7 @@
35#define LSM_COUNT (__end_lsm_info - __start_lsm_info) 35#define LSM_COUNT (__end_lsm_info - __start_lsm_info)
36 36
37struct security_hook_heads security_hook_heads __lsm_ro_after_init; 37struct security_hook_heads security_hook_heads __lsm_ro_after_init;
38static ATOMIC_NOTIFIER_HEAD(lsm_notifier_chain); 38static BLOCKING_NOTIFIER_HEAD(blocking_lsm_notifier_chain);
39 39
40static struct kmem_cache *lsm_file_cache; 40static struct kmem_cache *lsm_file_cache;
41static struct kmem_cache *lsm_inode_cache; 41static struct kmem_cache *lsm_inode_cache;
@@ -426,23 +426,26 @@ void __init security_add_hooks(struct security_hook_list *hooks, int count,
426 panic("%s - Cannot get early memory.\n", __func__); 426 panic("%s - Cannot get early memory.\n", __func__);
427} 427}
428 428
429int call_lsm_notifier(enum lsm_event event, void *data) 429int call_blocking_lsm_notifier(enum lsm_event event, void *data)
430{ 430{
431 return atomic_notifier_call_chain(&lsm_notifier_chain, event, data); 431 return blocking_notifier_call_chain(&blocking_lsm_notifier_chain,
432 event, data);
432} 433}
433EXPORT_SYMBOL(call_lsm_notifier); 434EXPORT_SYMBOL(call_blocking_lsm_notifier);
434 435
435int register_lsm_notifier(struct notifier_block *nb) 436int register_blocking_lsm_notifier(struct notifier_block *nb)
436{ 437{
437 return atomic_notifier_chain_register(&lsm_notifier_chain, nb); 438 return blocking_notifier_chain_register(&blocking_lsm_notifier_chain,
439 nb);
438} 440}
439EXPORT_SYMBOL(register_lsm_notifier); 441EXPORT_SYMBOL(register_blocking_lsm_notifier);
440 442
441int unregister_lsm_notifier(struct notifier_block *nb) 443int unregister_blocking_lsm_notifier(struct notifier_block *nb)
442{ 444{
443 return atomic_notifier_chain_unregister(&lsm_notifier_chain, nb); 445 return blocking_notifier_chain_unregister(&blocking_lsm_notifier_chain,
446 nb);
444} 447}
445EXPORT_SYMBOL(unregister_lsm_notifier); 448EXPORT_SYMBOL(unregister_blocking_lsm_notifier);
446 449
447/** 450/**
448 * lsm_cred_alloc - allocate a composite cred blob 451 * lsm_cred_alloc - allocate a composite cred blob