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
..
2007-01-28 17:58:33 -05:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:31 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2007-02-09 09:14:07 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2006-12-07 08:39:41 -08:00
2007-02-11 10:51:26 -08:00
2006-10-04 07:55:13 -07:00
2006-12-08 08:28:57 -08:00
2006-11-22 14:57:56 +00:00
2006-12-04 02:00:36 -05:00
2006-12-08 08:28:57 -08:00
2006-12-08 08:28:57 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2005-10-29 19:30:42 +01:00
2005-05-04 07:33:13 -07:00
2007-01-22 08:53:24 -08:00
2007-02-11 10:51:30 -08:00
2006-11-13 07:40:42 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:28 -08:00
2006-12-08 08:28:57 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2006-12-22 08:55:47 -08:00
2006-01-12 09:09:00 -08:00
2006-09-29 09:18:12 -07:00
2006-12-08 08:28:57 -08:00
2007-02-11 10:51:28 -08:00
2007-02-11 10:51:26 -08:00
2006-12-13 09:05:49 -08:00
2006-12-08 08:28:59 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2007-02-11 10:51:26 -08:00
2007-01-23 07:52:06 -08:00
2006-12-20 16:37:48 +11:00
2006-12-20 16:37:47 +11:00
2006-12-08 08:28:57 -08:00