> From: Frederic Weisbecker <frederic@xxxxxxxxxx> > Sent: Thursday, February 23, 2023 8:45 PM > To: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx> > Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; RCU <rcu@xxxxxxxxxxxxxxx>; Paul > E . McKenney <paulmck@xxxxxxxxxx>; Oleksiy Avramchenko > <oleksiy.avramchenko@xxxxxxxx>; Jens Axboe <axboe@xxxxxxxxx>; Philipp > Reisner <philipp.reisner@xxxxxxxxxx>; Bryan Tan <bryantan@xxxxxxxxxx>; > Steven Rostedt <rostedt@xxxxxxxxxxx>; Eric Dumazet > <edumazet@xxxxxxxxxx>; Bob Pearson <rpearsonhpe@xxxxxxxxx>; Ariel > Levkovich <lariel@xxxxxxxxxx>; Theodore Ts'o <tytso@xxxxxxx>; Julian > Anastasov <ja@xxxxxx> > Subject: Re: [PATCH 00/13] Rename k[v]free_rcu() single argument to > k[v]free_rcu_mightsleep() > > On Wed, Feb 01, 2023 at 04:08:06PM +0100, Uladzislau Rezki (Sony) wrote: > > This small series is based on Paul's "dev" branch. Head is > > 6002817348a1c610dc1b1c01ff81654cdec12be4 > > it renames a single argument of k[v]free_rcu() to its new > k[v]free_rcu_mightsleep() name. > > > > 1. > > The problem is that, recently we have run into a precedent when a user > > intended to give a second argument to kfree_rcu() API but forgot to do > > it in a code so a call became as a single argument of kfree_rcu() API. > > > > 2. > > Such mistyping can lead to hidden bags where sleeping is forbidden. > > > > 3. > > _mightsleep() prefix gives much more information for which contexts it > > can be used for. > > > > Uladzislau Rezki (Sony) (13): > > rcu/kvfree: Add kvfree_rcu_mightsleep() and kfree_rcu_mightsleep() > > drbd: Rename kvfree_rcu() to kvfree_rcu_mightsleep() > > misc: vmw_vmci: Rename kvfree_rcu() to kvfree_rcu_mightsleep() > > tracing: Rename kvfree_rcu() to kvfree_rcu_mightsleep() > > lib/test_vmalloc.c: Rename kvfree_rcu() to kvfree_rcu_mightsleep() > > net/sysctl: Rename kvfree_rcu() to kvfree_rcu_mightsleep() > > RDMA/rxe: Rename kfree_rcu() to kfree_rcu_mightsleep() > > net/mlx5: Rename kfree_rcu() to kfree_rcu_mightsleep() > > ext4/super: Rename kfree_rcu() to kfree_rcu_mightsleep() > > ipvs: Rename kfree_rcu() to kfree_rcu_mightsleep() > > rcuscale: Rename kfree_rcu() to kfree_rcu_mightsleep() > > doc: Update whatisRCU.rst > > rcu/kvfree: Eliminate k[v]free_rcu() single argument macro > > Hi, > > Not sure if you guys noticed but on latest rcu/dev: > > net/netfilter/ipvs/ip_vs_est.c: In function ‘ip_vs_stop_estimator’: > net/netfilter/ipvs/ip_vs_est.c:552:15: error: macro "kfree_rcu" requires 2 > arguments, but only 1 given > kfree_rcu(td); > ^ > net/netfilter/ipvs/ip_vs_est.c:552:3: error: ‘kfree_rcu’ undeclared (first use in > this function); did you mean ‘kfree_skb’? > kfree_rcu(td); > ^~~~~~~~~ > kfree_skb > net/netfilter/ipvs/ip_vs_est.c:552:3: note: each undeclared identifier is > reported only once for each function it appears in > Hi Frederic Weisbecker, I encountered the same build error as yours. Per the discussion link below, the fix for this build error by Uladzislau Rezki will be picked up by some other maintainer's branch? @Paul E . McKenney, please correct me if my understanding is wrong. 😊 https://lore.kernel.org/rcu/Y9qc+lgR1CgdszKs@salvia/ -Qiuxu