• Alexander Gordeev's avatar
    rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items · a6d77081
    Alexander Gordeev authored
    Variable rcu_num_lvls is limited by RCU_NUM_LVLS macro.
    In turn, rcu_state::levelcnt[] array is never accessed
    beyond rcu_num_lvls. Thus, rcu_state::levelcnt[] is safe
    to limit to RCU_NUM_LVLS items.
    
    Since rcu_num_lvls could be changed during boot (as result
    of rcutree.rcu_fanout_leaf kernel parameter update) one might
    assume a new value could overflow the value of RCU_NUM_LVLS.
    However, that is not the case, since leaf-level fanout is only
    permitted to increase, resulting in rcu_num_lvls possibly to
    decrease.
    
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Signed-off-by: default avatarAlexander Gordeev <agordeev@redhat.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    a6d77081
tree.h 25.6 KB