On Sun, 25 Jun 2023 at 08:35, Paul E. McKenney <paulmck@xxxxxxxxxx> wrote: > > git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/rcu.2023.06.22a > > o Eliminate the single-argument variant of k[v]free_rcu() now > that all uses have been converted to k[v]free_rcu_mightsleep(). Well, clearly not all users had been. The base of this RCU was v6.4-rc1, and when that commit was done, we still had a single-argument variant: 7e3f926bf453 ("rcu/kvfree: Eliminate k[v]free_rcu() single argument macro") but look here: git grep 'kfree_rcu([^,()][^,()]*)' 7e3f926bf453 results in 7e3f926bf453:drivers/infiniband/sw/rxe/rxe_verbs.c: kfree_rcu(mr); so the RCU tree itself can not possibly have built cleanly. How the heck did this pass testing in linux-next? Did linux-next just assume that it was a merge error, and fix it up? Anyway, I *did* fix it up, changing the 'kfree_rcu()' to 'kfree_rcu_mightsleep()', but no, this was not a merge artifact. This was purely "the RCU tree did not build on its own", and as a result the tree does not bisect cleanly if you have rdma enabled. Adding rdma people to the participants just to let them know that this happened, but it's not their fault. This is on the RCU tree, and lack of proper coverage testing. Linus