• Corey Minyard's avatar
    [PATCH] IPMI: Fix some RCU problems · 78ba2faf
    Corey Minyard authored
    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: default avatarCorey Minyard <minyard@acm.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    78ba2faf
ipmi_msghandler.c 112 KB