android_kernel_xiaomi_sm8350/drivers/char/ipmi
Corey Minyard 78ba2faf71 [PATCH] IPMI: Fix some RCU problems
Fix some RCU problem pointed out by Paul McKenney of IBM.  These are:

The wholesale move of the command receivers list into a new list was not
safe because the list will point to the new tail during a traversal, so the
traversal will never end on a reader if this happens during a read.

Memory barriers were needed to handle proper ordering of the setting of the
IPMI interface as valid.  Readers might not see proper ordering of data
otherwise.

In ipmi_smi_watcher_register(), the use of the _rcu suffix on the list is
unnecessary.

This require the list_splice_init_rcu() patch previously posted.

Signed-off-by: Corey Minyard <minyard@acm.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-02-11 10:51:31 -08:00
..
ipmi_bt_sm.c [PATCH] IPMI: remove zero inits 2006-12-10 09:55:40 -08:00
ipmi_devintf.c [PATCH] IPMI: remove zero inits 2006-12-10 09:55:40 -08:00
ipmi_kcs_sm.c [PATCH] IPMI: increase KCS message size 2006-12-07 08:39:48 -08:00
ipmi_msghandler.c [PATCH] IPMI: Fix some RCU problems 2007-02-11 10:51:31 -08:00
ipmi_poweroff.c [PATCH] IPMI: remove zero inits 2006-12-10 09:55:40 -08:00
ipmi_si_intf.c ACPICA: Remove duplicate table definitions (non-conflicting), cont 2007-02-02 21:14:29 -05:00
ipmi_si_sm.h [PATCH] ipmi: add generic PCI handling 2006-03-26 08:56:56 -08:00
ipmi_smic_sm.c [PATCH] IPMI: Fix BT long busy 2006-12-07 08:39:47 -08:00
ipmi_watchdog.c [PATCH] Fix IPMI watchdog set_param_str() using kstrdup 2006-12-30 10:55:54 -08:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00