On Mon, Nov 26, 2018 at 01:55:37PM +0000, Ran Rozenstein wrote: > > > > Hearing no objections, here is the updated patch. > > > > Thanx, Paul > > > > ------------------------------------------------------------------------ > > > > commit 970cab5d3d206029ed27274a98ea1c3d7e780e53 > > Author: Paul E. McKenney <paul...@linux.ibm.com> > > Date: Mon Oct 29 07:36:50 2018 -0700 > > > > rcu: Avoid signed integer overflow in rcu_preempt_deferred_qs() > > > > Subtracting INT_MIN can be interpreted as unconditional signed integer > > overflow, which according to the C standard is undefined behavior. > > Therefore, kernel build arguments notwithstanding, it would be good to > > future-proof the code. This commit therefore substitutes INT_MAX for > > INT_MIN in order to avoid undefined behavior. > > > > While in the neighborhood, this commit also creates some meaningful > > names > > for INT_MAX and friends in order to improve readability, as suggested > > by Joel Fernandes. > > > > Reported-by: Ran Rozenstein <ra...@mellanox.com> > > Signed-off-by: Paul E. McKenney <paul...@linux.ibm.com> > > > > squash! rcu: Avoid signed integer overflow in rcu_preempt_deferred_qs() > > > > While in the neighborhood, use macros to give meaningful names. > > > > Signed-off-by: Paul E. McKenney <paul...@linux.ibm.com> > > Hi, > > What is the acceptance status of this patch?
It is queued in -rcu. If no problems arise beforehand, I intend to submit it as part of a pull request into -tip, which (again if no problems arise) be pulled into mainline during the next merge window. Oddly enough, a couple of weeks ago the C++ Standards Committee voted in a proposal for C++20 removing undefined behavior for signed integer overflow. This is C++ rather than C, and C must support additional hardware that wouldn't much like forcing twos complement for signed integer overflow. But still... ;-) Thanx, Paul