int crypto_register_notifier(struct notifier_block *nb)
{
- return blocking_notifier_chain_register(&crypto_chain, nb);
+ return srcu_notifier_chain_register(&crypto_chain, nb);
}
EXPORT_SYMBOL_GPL(crypto_register_notifier);
int crypto_unregister_notifier(struct notifier_block *nb)
{
- return blocking_notifier_chain_unregister(&crypto_chain, nb);
+ return srcu_notifier_chain_unregister(&crypto_chain, nb);
}
EXPORT_SYMBOL_GPL(crypto_unregister_notifier);
DECLARE_RWSEM(crypto_alg_sem);
EXPORT_SYMBOL_GPL(crypto_alg_sem);
-BLOCKING_NOTIFIER_HEAD(crypto_chain);
+SRCU_NOTIFIER_HEAD(crypto_chain);
EXPORT_SYMBOL_GPL(crypto_chain);
static struct crypto_alg *crypto_larval_wait(struct crypto_alg *alg);
{
int ok;
- ok = blocking_notifier_call_chain(&crypto_chain, val, v);
+ ok = srcu_notifier_call_chain(&crypto_chain, val, v);
if (ok == NOTIFY_DONE) {
request_module("cryptomgr");
- ok = blocking_notifier_call_chain(&crypto_chain, val, v);
+ ok = srcu_notifier_call_chain(&crypto_chain, val, v);
}
return ok;
extern struct list_head crypto_alg_list;
extern struct rw_semaphore crypto_alg_sem;
-extern struct blocking_notifier_head crypto_chain;
+extern struct srcu_notifier_head crypto_chain;
#ifdef CONFIG_PROC_FS
void __init crypto_init_proc(void);
static inline void crypto_notify(unsigned long val, void *v)
{
- blocking_notifier_call_chain(&crypto_chain, val, v);
+ srcu_notifier_call_chain(&crypto_chain, val, v);
}
#endif /* _CRYPTO_INTERNAL_H */