RDMA/srpt: Fix RCU debug build error
Subsystems (2)
PATCH 1/1 RDMA/srpt: Fix RCU debug build error
From: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/[email protected]>
Combination of CONFIG_DEBUG_OBJECTS_RCU_HEAD=y and CONFIG_INFINIBAND_SRPT=m produces the following build error.
ERROR: "init_rcu_head" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined! make[1]: *** [scripts/Makefile.modpost:92: __modpost] Error 1
make: *** [Makefile:1216: modules] Error 2
The reason to it that init_rcu_head() is not exported and not supposed to be used in modules. It is needed for dynamic initialization of statically allocated rcu_head structures.
---
Changelog:
v0->v1:
* Added Bart's SOB.
* Updated commit message.
* Removed init_rcu_head() from srpt code.
--- drivers/infiniband/ulp/srpt/ib_srpt.c | 2 -- 1 file changed, 2 deletions(-)
drivers/infiniband/ulp/srpt/ib_srpt.c +0 -2
@@ -1950,7 +1950,6 @@ static struct srpt_nexus *srpt_get_nexus(struct srpt_port *sport, nexus =ERR_PTR (-ENOMEM );break ; } -init_rcu_head (&tmp_nexus->rcu);INIT_LIST_HEAD (&tmp_nexus->ch_list);memcpy (tmp_nexus->i_port_id, i_port_id,16 );memcpy (tmp_nexus->t_port_id, t_port_id,16 );
@@ -2110,7 +2109,6 @@ static int srpt_cm_req_recv(struct ib_cm_id *cm_id, goto reject; } -init_rcu_head (&ch->rcu);kref_init (&ch->kref); ch->pkey =be16_to_cpu (pkey); ch->nexus = nexus;
--
2.15.1
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
A message that is not in the archive (sent off-list or not yet received): 20180124065605.19310-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Doug Ledford
AppliedQuoted 9 lines · Leon Romanovsky
From: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/[email protected]>
Combination of
CONFIG_DEBUG_OBJECTS_RCU_HEAD=yandCONFIG_INFINIBAND_SRPT=mproduces the following build error.ERROR: "
init_rcu_head" [drivers/infiniband/ulp/srpt/ib_srpt.ko] undefined! make[1]: *** [scripts/Makefile.modpost:92:__modpost] Error 1
make: *** [Makefile:1216: modules] Error 2
Quoted 8 lines
The reason to it that
init_rcu_head()is not exported and not supposed to be used in modules. It is needed for dynamic initialization of statically allocatedrcu_headstructures.Fixes 795bc112cd5a ("IB/srpt: Make it safe to use RCU for srpt_device.rch_list")Fixes a11253142e6d ("IB/srpt: Rework multi-channel support")Signed-off-by Bart Van Assche <[email protected]>
Thanks, applied.
Signature · 3 lines
Doug Ledford <[email protected]> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD