lkml.org 
[lkml]   [2018]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH tip/core/rcu 17/21] rcu: Make rcu_start_this_gp() check for out-of-range requests
    Date
    If rcu_start_this_gp() is invoked with a requested grace period more
    than three in the future, then either the ->need_future_gp[] array
    needs to be bigger or the caller needs to be repaired. This commit
    therefore adds a WARN_ON_ONCE() checking for this condition.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    kernel/rcu/tree.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
    index d3c769502929..07bccb1f0c87 100644
    --- a/kernel/rcu/tree.c
    +++ b/kernel/rcu/tree.c
    @@ -1698,6 +1698,8 @@ static bool rcu_start_this_gp(struct rcu_node *rnp, struct rcu_data *rdp,
    for (rnp_root = rnp; 1; rnp_root = rnp_root->parent) {
    if (rnp_root != rnp)
    raw_spin_lock_rcu_node(rnp_root);
    + WARN_ON_ONCE(ULONG_CMP_LT(rnp_root->gpnum +
    + need_future_gp_mask(), c));
    if (need_future_gp_element(rnp_root, c) ||
    ULONG_CMP_GE(rnp_root->gpnum, c) ||
    (rnp != rnp_root &&
    --
    2.5.2
    \
     
     \ /
      Last update: 2018-04-23 05:05    [W:6.101 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site