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
On Tue, Mar 14, 2023 at 12:29:22PM +1100, Stephen Rothwell wrote:
> 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.
Please accept my apologies -- I left out that revert. I have pushed
out an rcu/next including it.
But I guess we now know for sure that this revert is still needed. :-/
Thanx, Paul