Subject: linux-next: build failure after merge of the rcu tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 14 Mar 2023 12:29:22 +1100

Hi all,

After merging the rcu tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

net/mac802154/scan.c: In function 'mac802154_scan_cleanup_locked':
net/mac802154/scan.c:55:26: error: macro "kfree_rcu" requires 2 arguments, but only 1 given
   55 |         kfree_rcu(request);
      |                          ^
In file included from include/linux/rbtree.h:24,
                 from include/linux/mm_types.h:11,
                 from include/linux/buildid.h:5,
                 from include/linux/module.h:14,
                 from net/mac802154/scan.c:11:
include/linux/rcupdate.h:984: note: macro "kfree_rcu" defined here
  984 | #define kfree_rcu(ptr, rhf) kvfree_rcu_arg_2(ptr, rhf)
      | 
net/mac802154/scan.c:55:9: error: 'kfree_rcu' undeclared (first use in this function); did you mean 'kfree_skb'?
   55 |         kfree_rcu(request);
      |         ^~~~~~~~~
      |         kfree_skb
net/mac802154/scan.c:55:9: note: each undeclared identifier is reported only once for each function it appears in
net/mac802154/scan.c: In function 'mac802154_stop_beacons_locked':
net/mac802154/scan.c:406:26: error: macro "kfree_rcu" requires 2 arguments, but only 1 given
  406 |         kfree_rcu(request);
      |                          ^
include/linux/rcupdate.h:984: note: macro "kfree_rcu" defined here
  984 | #define kfree_rcu(ptr, rhf) kvfree_rcu_arg_2(ptr, rhf)
      | 
net/mac802154/scan.c:406:9: error: 'kfree_rcu' undeclared (first use in this function); did you mean 'kfree_skb'?
  406 |         kfree_rcu(request);
      |         ^~~~~~~~~
      |         kfree_skb
drivers/infiniband/sw/rxe/rxe_mr.c: In function 'rxe_dereg_mr':
drivers/infiniband/sw/rxe/rxe_mr.c:734:21: error: macro "kfree_rcu" requires 2 arguments, but only 1 given
  734 |         kfree_rcu(mr);
      |                     ^
In file included from include/linux/rculist.h:11,
                 from include/linux/dcache.h:8,
                 from include/linux/fs.h:8,
                 from include/linux/highmem.h:5,
                 from include/linux/bvec.h:10,
                 from include/linux/blk_types.h:10,
                 from include/linux/bio.h:10,
                 from include/linux/libnvdimm.h:14,
                 from drivers/infiniband/sw/rxe/rxe_mr.c:7:
include/linux/rcupdate.h:984: note: macro "kfree_rcu" defined here
  984 | #define kfree_rcu(ptr, rhf) kvfree_rcu_arg_2(ptr, rhf)
      | 
drivers/infiniband/sw/rxe/rxe_mr.c:734:9: error: 'kfree_rcu' undeclared (first use in this function); did you mean 'kfree_skb'?
  734 |         kfree_rcu(mr);
      |         ^~~~~~~~~
      |         kfree_skb
drivers/infiniband/sw/rxe/rxe_mr.c:734:9: note: each undeclared identifier is reported only once for each function it appears in

Caused by commit

  62a2ac23b35f ("rcu/kvfree: Eliminate k[v]free_rcu() single argument macro")

I have used the rcu tree from next-20230310 for today.

-- 
Cheers,
Stephen Rothwell