From: Jason Gunthorpe <jgg@ziepe.ca>
To: Leon Romanovsky <leon@kernel.org>
Cc: haris.iqbal@cloud.ionos.com, linux-block@vger.kernel.org,
linux-rdma@vger.kernel.org, danil.kipnis@cloud.ionos.com,
jinpu.wang@cloud.ionos.com, dledford@redhat.com,
kernel test robot <rong.a.chen@intel.com>
Subject: Re: [PATCH] Delay the initialization of rnbd_server module to late_initcall level
Date: Wed, 17 Jun 2020 15:20:46 -0300 [thread overview]
Message-ID: <20200617182046.GI6578@ziepe.ca> (raw)
In-Reply-To: <20200617112811.GL2383158@unreal>
On Wed, Jun 17, 2020 at 02:28:11PM +0300, Leon Romanovsky wrote:
> On Wed, Jun 17, 2020 at 04:07:32PM +0530, haris.iqbal@cloud.ionos.com wrote:
> > From: Md Haris Iqbal <haris.iqbal@cloud.ionos.com>
> >
> > Fixes: 2de6c8de192b ("block/rnbd: server: main functionality")
> > Reported-by: kernel test robot <rong.a.chen@intel.com>
> > Signed-off-by: Md Haris Iqbal <haris.iqbal@cloud.ionos.com>
> >
> > The rnbd_server module's communication manager initialization depends on the
> > registration of the "network namespace subsystem" of the RDMA CM agent module.
> > As such, when the kernel is configured to load the rnbd_server and the RDMA
> > cma module during initialization; and if the rnbd_server module is initialized
> > before RDMA cma module, a null ptr dereference occurs during the RDMA bind
> > operation.
> > This patch delays the initialization of the rnbd_server module to the
> > late_initcall level, since RDMA cma module uses module_init which puts it into
> > the device_initcall level.
> > drivers/block/rnbd/rnbd-srv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/block/rnbd/rnbd-srv.c b/drivers/block/rnbd/rnbd-srv.c
> > index 86e61523907b..213df05e5994 100644
> > +++ b/drivers/block/rnbd/rnbd-srv.c
> > @@ -840,5 +840,5 @@ static void __exit rnbd_srv_cleanup_module(void)
> > rnbd_srv_destroy_sysfs_files();
> > }
> >
> > -module_init(rnbd_srv_init_module);
> > +late_initcall(rnbd_srv_init_module);
>
> I don't think that this is correct change. Somehow nvme-rdma works:
> module_init(nvme_rdma_init_module);
> -> nvme_rdma_init_module
> -> nvmf_register_transport(&nvme_rdma_transport);
> -> nvme_rdma_create_ctrl
> -> nvme_rdma_setup_ctrl
> -> nvme_rdma_configure_admin_queue
> -> nvme_rdma_alloc_queue
> -> rdma_create_id
If it does work, it is by luck.
Keep in mind all this only matters for kernels without modules.
Maybe cma should be upgraded to subsystem_init ? That is a bit tricky
too as it needs the ib_client stuff working
Jason
next prev parent reply other threads:[~2020-06-17 18:21 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 10:37 [PATCH] Delay the initialization of rnbd_server module to late_initcall level haris.iqbal
2020-06-17 10:57 ` Jinpu Wang
2020-06-17 11:28 ` Leon Romanovsky
2020-06-17 18:20 ` Jason Gunthorpe [this message]
2020-06-17 19:07 ` Leon Romanovsky
2020-06-17 19:26 ` Jason Gunthorpe
2020-06-18 1:45 ` Haris Iqbal
2020-06-18 9:14 ` Haris Iqbal
2020-06-23 9:50 ` Haris Iqbal
2020-06-23 12:17 ` Jason Gunthorpe
2020-06-23 13:45 ` Haris Iqbal
2020-06-23 14:24 ` Jason Gunthorpe
2020-06-23 11:35 ` Haris Iqbal
2020-06-23 17:23 ` Jason Gunthorpe
2020-08-04 13:37 ` [PATCH v2] RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init Md Haris Iqbal
2020-08-05 5:57 ` Leon Romanovsky
2020-08-05 7:50 ` Haris Iqbal
2020-08-05 9:04 ` Leon Romanovsky
2020-08-05 11:09 ` Haris Iqbal
2020-08-05 13:12 ` Leon Romanovsky
2020-08-05 13:53 ` Haris Iqbal
2020-08-05 14:55 ` Leon Romanovsky
2020-08-05 15:27 ` Haris Iqbal
2020-08-05 9:09 ` Danil Kipnis
2020-08-05 9:16 ` Leon Romanovsky
2020-08-05 11:18 ` Danil Kipnis
2020-08-05 13:09 ` Leon Romanovsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200617182046.GI6578@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=danil.kipnis@cloud.ionos.com \
--cc=dledford@redhat.com \
--cc=haris.iqbal@cloud.ionos.com \
--cc=jinpu.wang@cloud.ionos.com \
--cc=leon@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=rong.a.chen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.