From: Alison Schofield <alison.schofield@intel.com>
To: <jianyungao89@gmail.com>
Cc: <linux-kernel@vger.kernel.org>, <stable@vger.kernel.org>,
Dan Williams <djbw@kernel.org>,
Vishal Verma <vishal.l.verma@intel.com>,
Dave Jiang <dave.jiang@intel.com>,
"open list:DEVICE DIRECT ACCESS (DAX)" <nvdimm@lists.linux.dev>,
"open list:DEVICE DIRECT ACCESS (DAX)"
<linux-cxl@vger.kernel.org>
Subject: Re: [PATCH v2] dax: fix dax_core_init error return code
Date: Mon, 12 Oct 2026 16:04:57 -0700 [thread overview]
Message-ID: <as1nmV342j-eUOYm@aschofie-mobl2.lan> (raw)
In-Reply-To: <20261012151857.22534-1-jianyungao89@gmail.com>
On Mon, Oct 12, 2026 at 11:18:57PM +0800, jianyungao89@gmail.com wrote:
> From: Jianyun Gao <jianyungao89@gmail.com>
>
> dax_core_init() mistakenly returns 0 on error paths. Change the
> error return to use rc so the actual error code is propagated
> to the caller.
Hi Jianyun,
Thanks for the patch. The change looks good to me.
I'd like to expand the commit message to explain the impact of the bug,
not just describe the correction. I've proposed a revised message below.
dax: Return errors from dax_core_init()
dax_core_init() returns success when either the character device
number allocation or DAX bus registration fails, even though the
error paths have already released the initialized resources.
For modular DAX, this allows the module to remain loaded despite
failed initialization, leaving subsequent users and module removal
to access resources that have already been released.
Return the error code from the failed operation so that module
loading fails rather than reporting successful initialization
after the resources have been released.
Please let me know if you're OK with the above, and I'll amend the commit
message and merge the patch.
-- Alison
>
> Fixes: 9567da0b408a ("device-dax: Introduce bus + driver model")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jianyun Gao <jianyungao89@gmail.com>
> ---
>
> Changes in v2:
> - Drop unnecessary goto label, keep direct return for dax_fs_init() error
> - Add Fixes tag and Cc stable
>
> Link: https://lore.kernel.org/lkml/20261011132017.31131-1-jianyungao89@gmail.com/ # v1
>
> drivers/dax/super.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/dax/super.c b/drivers/dax/super.c
> index 45f84b0eb909..210f4af479f0 100644
> --- a/drivers/dax/super.c
> +++ b/drivers/dax/super.c
> @@ -738,7 +738,7 @@ static int __init dax_core_init(void)
> unregister_chrdev_region(dax_devt, MINORMASK+1);
> err_chrdev:
> dax_fs_exit();
> - return 0;
> + return rc;
> }
>
> static void __exit dax_core_exit(void)
> --
> 2.34.1
>
next prev parent reply other threads:[~2026-10-12 23:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 15:18 [PATCH v2] dax: fix dax_core_init error return code jianyungao89
2026-10-12 16:18 ` Gregory Price
2026-10-12 23:04 ` Alison Schofield [this message]
2026-10-13 1:02 ` Jianyun Gao
2026-10-13 17:10 ` Dave Jiang
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=as1nmV342j-eUOYm@aschofie-mobl2.lan \
--to=alison.schofield@intel.com \
--cc=dave.jiang@intel.com \
--cc=djbw@kernel.org \
--cc=jianyungao89@gmail.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
--cc=stable@vger.kernel.org \
--cc=vishal.l.verma@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.