diff options
author | Corey Minyard <minyard@acm.org> | 2007-02-10 01:45:45 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 10:51:31 -0800 |
commit | 78ba2faf71c63990cba9997f18cf1d610e06e3f2 (patch) | |
tree | 8cf435b8ade77c358dc3c4cc6a3349d65702170f /drivers/scsi/libsas | |
parent | 3678d62f028689abc8ac5693b254e48f605f94ba (diff) |
[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>
Diffstat (limited to 'drivers/scsi/libsas')
0 files changed, 0 insertions, 0 deletions