From: sashiko-bot@kernel.org
To: "Allison Henderson" <achender@kernel.org>, linux-rdma@vger.kernel.org
Subject: Re: [PATCH net 2/2] net/rds: do not initialize transports after rds_init() failed
Date: Wed, 21 Oct 2026 20:03:21 +0000 [thread overview]
Message-ID: <sashiko-outbox-180620@kernel.org> (raw)
In-Reply-To: <20261021195837.142802-3-achender@kernel.org>
> rds, rds_rdma and rds_tcp each have their own module_init(). When they
> are built in, those run in link order, so rds_init() goes first, but
> do_initcalls() does not stop when it fails. The transports then
> initialize against a core that has already been torn down: rds_wq has
> been destroyed, yet rds_ib_dev_put(), rds_ib_unregister_client() and
> rds_tcp_accept_work() still queue onto or flush it, and
> rds_trans_register() hands the transports to a core whose socket
> family may never have been registered.
>
> This was seen with CONFIG_SYSCTL=n, where rds_sysctl_init() failed and
> rds_ib_init()'s error path then flushed the freed rds_wq [1], but any
> rds_init() failure after rds_threads_init() has the same effect.
>
> Record whether rds_init() succeeded and have rds_rdma_init() and
> rds_tcp_init() bail out with -ENODEV otherwise. Modular builds are
> unaffected: the transports need symbols exported by rds.ko, so they
> cannot be loaded unless rds_init() succeeded.
>
> [1] https://lore.kernel.org/oe-lkp/202610190310.9737b2e3-lkp@intel.com
> Fixes: 55b7ed0b582f ("RDS: Common RDMA transport code")
> Fixes: 70041088e3b9 ("RDS: Add TCP transport to RDS")
> Suggested-by: Oleg Nesterov <oleg@redhat.com>
> Assisted-by: LLM
> Signed-off-by: Allison Henderson <achender@kernel.org>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261021195837.142802-1-achender@kernel.org?part=2
next prev parent reply other threads:[~2026-10-21 20:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 19:58 [PATCH net 0/2] net/rds: fix init failures leaving built-in transports on a dead core Allison Henderson
2026-10-21 19:58 ` [PATCH net 1/2] net/rds: do not fail init when CONFIG_SYSCTL=n Allison Henderson
2026-10-21 20:03 ` sashiko-bot
2026-10-22 7:22 ` Joel Granados
2026-10-22 12:33 ` Oleg Nesterov
2026-10-21 19:58 ` [PATCH net 2/2] net/rds: do not initialize transports after rds_init() failed Allison Henderson
2026-10-21 20:03 ` sashiko-bot [this message]
2026-10-27 10:40 ` [PATCH net 0/2] net/rds: fix init failures leaving built-in transports on a dead core patchwork-bot+netdevbpf
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=sashiko-outbox-180620@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=achender@kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.