Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13bd6494 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

rcu: Reset rcu_fanout_leaf if out of bounds



Currently if the rcu_fanout_leaf boot parameter is out of bounds (that
is, less than RCU_FANOUT_LEAF or greater than the number of bits in an
unsigned long), a warning is issued and execution continues with the
out-of-bounds value.  This can result in all manner of failures, so this
patch resets rcu_fanout_leaf to RCU_FANOUT_LEAF when an out-of-bounds
condition is detected.

Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 032dfc87
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -4103,6 +4103,7 @@ static void __init rcu_init_geometry(void)
	 */
	 */
	if (rcu_fanout_leaf < RCU_FANOUT_LEAF ||
	if (rcu_fanout_leaf < RCU_FANOUT_LEAF ||
	    rcu_fanout_leaf > sizeof(unsigned long) * 8) {
	    rcu_fanout_leaf > sizeof(unsigned long) * 8) {
		rcu_fanout_leaf = RCU_FANOUT_LEAF;
		WARN_ON(1);
		WARN_ON(1);
		return;
		return;
	}
	}