mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
[PATCH] RCU: clean up a few remaining synchronize_kernel() calls
2.6.12-rc6-mm1 has a few remaining synchronize_kernel()s, some (but not all) in comments. This patch changes these synchronize_kernel() calls (and comments) to synchronize_rcu() or synchronize_sched() as follows: - arch/x86_64/kernel/mce.c mce_read(): change to synchronize_sched() to handle races with machine-check exceptions (synchronize_rcu() would not cut it given RCU implementations intended for hardcore realtime use. - drivers/input/serio/i8042.c i8042_stop(): change to synchronize_sched() to handle races with i8042_interrupt() interrupt handler. Again, synchronize_rcu() would not cut it given RCU implementations intended for hardcore realtime use. - include/*/kdebug.h comments: change to synchronize_sched() to handle races with NMIs. As before, synchronize_rcu() would not cut it... - include/linux/list.h comment: change to synchronize_rcu(), since this comment is for list_del_rcu(). - security/keys/key.c unregister_key_type(): change to synchronize_rcu(), since this is interacting with RCU read side. - security/keys/process_keys.c install_session_keyring(): change to synchronize_rcu(), since this is interacting with RCU read side. Signed-off-by: "Paul E. McKenney" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
ae67cd643e
commit
b2b1866006
9 changed files with 9 additions and 9 deletions
|
|
@ -18,7 +18,7 @@ struct die_args {
|
|||
};
|
||||
|
||||
/* Note - you should never unregister because that can race with NMIs.
|
||||
If you really want to do it first unregister - then synchronize_kernel - then free.
|
||||
If you really want to do it first unregister - then synchronize_sched - then free.
|
||||
*/
|
||||
int register_die_notifier(struct notifier_block *nb);
|
||||
extern struct notifier_block *i386die_chain;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ struct die_args {
|
|||
|
||||
/*
|
||||
Note - you should never unregister because that can race with NMIs.
|
||||
If you really want to do it first unregister - then synchronize_kernel -
|
||||
If you really want to do it first unregister - then synchronize_sched -
|
||||
then free.
|
||||
*/
|
||||
int register_die_notifier(struct notifier_block *nb);
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ struct die_args {
|
|||
};
|
||||
|
||||
/* Note - you should never unregister because that can race with NMIs.
|
||||
* If you really want to do it first unregister - then synchronize_kernel
|
||||
* If you really want to do it first unregister - then synchronize_sched
|
||||
* - then free.
|
||||
*/
|
||||
int register_die_notifier(struct notifier_block *nb);
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ struct die_args {
|
|||
};
|
||||
|
||||
/* Note - you should never unregister because that can race with NMIs.
|
||||
If you really want to do it first unregister - then synchronize_kernel - then free.
|
||||
If you really want to do it first unregister - then synchronize_sched - then free.
|
||||
*/
|
||||
int register_die_notifier(struct notifier_block *nb);
|
||||
extern struct notifier_block *die_chain;
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ static inline void list_del(struct list_head *entry)
|
|||
* list_for_each_entry_rcu().
|
||||
*
|
||||
* Note that the caller is not permitted to immediately free
|
||||
* the newly deleted entry. Instead, either synchronize_kernel()
|
||||
* the newly deleted entry. Instead, either synchronize_rcu()
|
||||
* or call_rcu() must be used to defer freeing until an RCU
|
||||
* grace period has elapsed.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue